Documentum Distributed Configuration Guide 6.5
Documentum Distributed Configuration Guide 6.5
Content Server
Version 6.5
EMC Corporation
Corporate Headquarters:
Hopkinton, MA 01748‑9103
1‑508‑435‑1000
www.EMC.com
Copyright © 2000 ‑ 2008 EMC Corporation. All rights reserved.
Published July 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 .......................................................................................................................... 11
Chapter 1 Distributed Models ................................................................................ 13
Overview of Models ................................................................................... 13
Single‑repository distributed models ........................................................... 14
Single Model 1: Single repository with content persistently
stored at primary site and accessed using ACS or BOCS servers ................ 14
Benefits and best use ........................................................................... 17
Single Model 2: Single repository with content in a distributed
storage area ............................................................................................ 18
Benefits and best use ........................................................................... 19
UCF mode and HTTP mode .................................................................... 20
For more information.............................................................................. 20
multirepository distributed models.............................................................. 20
Multiple repositories using object replication ........................................... 21
Multiple repositories working as a federation ........................................... 21
For more information.............................................................................. 22
Replicas ......................................................................................... 61
Object replication ................................................................................... 61
Replication jobs .................................................................................. 61
Multi‑dump file replication jobs .......................................................... 61
Best use of multiple‑dump file replication ........................................ 62
Conditions of use............................................................................ 62
Replication modes .............................................................................. 63
Non‑federated replication mode ...................................................... 63
Federated replication mode ............................................................. 64
What is replicated ............................................................................... 65
Aspect modules and replication........................................................... 67
Format objects and replication ............................................................. 67
Data dictionary information and replication ......................................... 68
Display configuration information and replication ................................ 68
Full refreshes...................................................................................... 69
Related objects storage ........................................................................ 69
How the replication process works ...................................................... 69
Federations ............................................................................................ 70
Supporting architecture ...................................................................... 70
Jobs and methods ............................................................................... 71
Distributed environments and the secure connection defaults ....................... 71
Distributed messaging ................................................................................ 72
Manual Replication............................................................................. 95
Using the Surrogate Get Feature .............................................................. 96
The dm_SurrogateGet Method ............................................................ 97
Using REPLICATE .................................................................................. 97
Using IMPORT_REPLICA ....................................................................... 98
Setting proximity values for Content Server projection to a
connection broker ....................................................................................... 98
Guidelines ............................................................................................. 98
Example of selecting proximity values ..................................................... 99
At site A .......................................................................................... 100
At site B ........................................................................................... 100
At site C ........................................................................................... 100
First‑Time Use ...................................................................................... 101
List of Figures
List of Tables
This manual describes the Content Server features that support the Documentum distributed
configurations. The manual contains information to help administrators determine which features
and configurations best meet the needs of the business and procedures to implement and manage
those features and configurations.
Intended audience
This manual is written for system administrators or superusers who are responsible for
the implementation and maintenance of a Documentum distributed environment.
Conventions
This manual uses the following conventions in the syntax descriptions and examples.
Syntax conventions
Convention Identifies
italics A variable for which you need to provide a value.
[ ] square brackets An optional argument that may be included only once
{ } curly braces An optional argument that may be included multiple
times
Revision history
The following changes have been made to this document.
Revision history
This chapter describes the most common distributed configurations. Use the information in this
chapter, in conjunction with the information in Chapter 2, Building Blocks, to help you decide which
distributed model or models best suits your business needs. The chapter includes the following topics:
• Overview of Models, page 13
• Single‑repository distributed models, page 14
• multirepository distributed models, page 20
Overview of Models
A distributed configuration can be set up for either a single repository or multiple
repositories. In a single‑repository distributed configuration, content is distributed
across all sites configured to access the repository. In a multirepository distributed
configuration, objects (content plus metadata) are distributed across all participating
repositories.
There are two common models for single‑repository distributed environments:
• A single repository, with content stored at the primary site and accessed from remote
sites using an Accelerated Content Services (ACS) server and, optionally, Branch
Office Caching Services (BOCS) servers
• A single repository, with content stored in a distributed storage area and accessed
from remote sites using content‑file servers, ACS servers, and optionally, BOCS
servers
There are also two common models for multirepository distributed configurations:
• Multiple repositories that replicate objects among themselves
• Multiple repositories organized as a federation
An enterprise can use one model or a combination of the models. For example, a
business might have one repository that contains primarily material, such as SOPS, that
users only need to read. That repository may be configured to use BOCS servers for its
remote users. Another repository may store business and sales proposals that are written
and updated frequently. That repository uses distributed storage areas with ACS servers
or Desktop clients for remote users. The two repositories may also be tied together in a
federation, to ensure that the users and groups in both repositories are the same.
Figure 1. Alternative 1: BOCS servers at remote sites communicating with primary site
In this example of alternative 1, users at each remote site use a BOCS server to handle
content requests. When users in the Paris branch office request a document or wish to
save a document to the repository, their requests are handled by the BOCS server installed
at the Paris branch office. Similarly, content operations for users in the Amsterdam
branch office are handled by the BOCS server in the Amsterdam branch office, and
requests from Geneva users are handled by the BOCS in the Geneva branch office.
The BOCS server is a caching server. It maintains a cache of content files requested by
users. You can also precache content on a BOCS server. If you know that some content
will be accessed frequently or regularly by the BOCS users, you can cache that content on
the server prior to user requests for the content. precaching can be performed by a job or
programmatically. For more information, refer to Content precaching, page 46.
When the BOCS server receives a request for content, it first checks the cache that it
maintains. If the content is in the cache, the BOCS server provides that content to the
user. If the content is not in the cache, the BOCS server communicates with the ACS
server at the primary site to locate the content. The ACS server, in turn, communicates
with the web server and Content Server at the primary site.
The second basic configuration is illustrated in Figure 2, page 16. In this configuration,
the remote users have no installed software other than the web browser.
Figure 2. Alternative 2: Remote sites, without BOCS servers, using primary site’s ACS
server
In the second alternative, when users at a remote site request a content operation, the
request is handled by the ACS server at the primary site.
Figure 3, page 17, shows a variation of the configurations that combines the two. In this
example, the remote clients are telecommuters, working from their web browsers on
home machines. When they request documents, the request is handled by a BOCS server
installed at the branch office closest to their location. All metadata requests are handled
by the Content Server at the primary site.
In each of the configuration alternatives, each ACS or BOCS server is defined as a network
location. When users begin a web‑based session, the client application determines which
network locations are available to the user. Then, the users are either automatically
assigned to a network location or they may choose from those available, depending on
how the client applications are configured. The network location with which the session
is associated determines which ACS or BOCS server handles the users’ content requests.
This model requires the least amount of administrative overhead. It is easy to set up
and configure, and ongoing administration needs are minimal. There are no content
replication jobs to define, administer, and run.
This model is not available for users on Desktop clients.
In this model, users in the small branch offices in Nice and Dover access the content
stored in the distributed storage component at the larger Paris branch office. Similarly,
users in the small branch offices at Bern or Antwerp access content stored in the larger
Geneva branch office. If the users are logging in using a web‑based client, content
requests are handled through the ACS server at the appropriate branch office in Paris
or Geneva. If the users are logging in using a Desktop‑based client, content requests
are handled by the Content Server in Paris or Geneva. (The graphic shows only users
logging in using web browsers.)
In this model, the remote sites using web‑based clients could have BOCS servers, rather
than just a web browser, to contact the branch offices for content requests.
For sites using web‑based clients, this model is best if model 1 is not acceptable for any
particular reason. For sites using Desktop clients, this model is the only model available
for a single‑repository distributed configuration.
This chapter describes the Content Server features that are the building blocks for the common
distributed configurations, and the architecture, or implementation, of each building block. Use the
information in this chapter, in conjunction with the model descriptions in Chapter 1, Distributed
Models, to help you decide which distributed model best suits your business needs. The chapter
includes the following topics:
• Building blocks, page 23
• Building block architectures for single‑repository models, page 42
• Building block architectures for multirepository models, page 56
• Distributed environments and the secure connection defaults , page 71
• Distributed messaging, page 72
Building blocks
This section describes the features that are the building blocks for implementing
distributed configuration models. The following building blocks are described:
• Network locations, page 24
• ACS servers, page 25
• BOCS servers, page 26
• DMS servers, page 28
• Pre‑cached content, page 29
• Synchronous and asynchronous write capabilities, page 30
• Distributed storage areas, page 32
• Content‑file servers, page 34
• Shared content, page 35
• Content replication, page 36
• Reference links, page 37
Network locations
Network locations are a basic building block of a single‑repository distributed
environment for web‑based clients. Network locations represent a place or area on
network’s topography. A network location can represent a branch office, a set of
telecommuters in the same geographical area, or any set of users you choose to aggregate
as a network location.
Network locations typically identify one or more IP addresses or address ranges. The
addresses generally represent machines that are close to each other. For example,
all machines in one branch office may be defined as one network location. Another
network location may represent all users in the Western United States or in Eastern
Europe. The geographic size of a network location is completely up to the administrator
configuring the system.
Configuration Requirements
To use network locations, you need to fulfill the following configuration requirements:
• You need to designate one repository as the global registry and the network location
definitions must be stored in that repository.
• You need to define proximity values for each network location.
The proximity value defines the network location’s proximity to a Content Server or
ACS server. This information is used to ensure that content requests are handled by
the server closest to the user.
ACS servers
The ACS, or Accelerated Content Services, server is a lightweight server that handles
read and write content operations for web‑based client applications. There is one ACS
server for each Content Server host installation. It communicates with one Content
Server for each repository in the host installation. The ACS server uses HTTP or HTTPS
for all communications.
The ACS server is installed automatically when the first repository on the installation
is configured. If additional repositories are added to the installation, the ACS server’s
configuration information is updated so that the server can communicate with the
primary Content Server for the new repository.
If you install a remote site with a content‑file server (a remote Content Server), the
installation at that site has its own ACS server.
The ACS server serves users who are accessing the content through web‑based client
applications. You cannot use an ACS server to handle content read and write requests
for users on Desktop client applications.
Configuration requirements
:
• The ACS server needs to be configured to accept client requests from at least one
network location.
• At least one valid acs config object for the ACS server in each repository served by
that ACS server needs to exist.
• The acs.properties file for the ACS server needs to be correctly configured. (The
installation process configures an acs.properties file automatically.)
• To enable asynchronous write operations for the server, the acs_write_mode property
in the cont transfer config object in the repositories need to be correctly set.
• ACS server ports need to be open if the network locations the server is servicing
are outside a firewall.
• If the Content Server and application server clocks are out of synch by more that
six hours (the default), URLs expire and content transfer for uploading and down
loading of content fails. The Content Server and application server clocks need to be
synchronized with a time server. The time interval which, when exceeded, causes
the URL to expire is set in the acs.properties file on the ACS host.
ACS caching
You can configure the ACS to perform content caching. To set up ACS caching,
you need to modify properties in the $DM_HOME\jboss4.2.0\server\DctmServer_
MethodServer\deploy\acs.ear\APP‑INF\classes\config. The following procedure
describes how to set up ACS caching manually.
BOCS servers
A Branch Office Caching Services (BOCS) server is a caching server. It is a separate,
optional product with its own installer. It is not installed with Content Server.
BOCS servers cache content locally. When a BOCS server handles content requests from
users, it caches the requested content locally. You can also cache content on a BOCS server
prior to user requests programmatically or through a precaching job. Caching content
allows users to obtain frequently accessed content very quickly. The amount of content
that can be cached and the length of time which the content is held is configurable.
When users save content to the repository through a BOCS server, the underlying
write operation can be either an asynchronous or synchronous operation. The choice is
governed by the underlying client application, which may default to one or the other
or may offer users a choice between synchronous or asynchronous. If the content is
written asynchronously, it is cached, or parked, on the BOCS server until an internal job
executes to save the content to the repository.
BOCS servers communicate only with ACS servers and DMS servers. They do not
communicate directly with Content Servers. A BOCS server can communicate with
any ACS server or DMS server. Which repositories are served by a BOCS server is
configurable.
Additionally, a BOCS server can be configured in either push or pull mode to obtain
messages from DMS. In push mode, a BOCS server accepts messages sent to it from a
DMS server. In pull mode, a BOCS server contacts the DMS server and takes messages
from the DMS server’s message queue. If there is a firewall between the DMS server and
the BOCS server, the BOCS server is typically configured in the pull mode. If there is no
firewall between the two, the BOCS server is typically configured in push mode.
For more information about BOCS servers, refer to the Branch Office Caching Services
Installation and Release Notes.
For more information about content precaching, refer to Pre‑cached content, page 29.
For more information about synchronous and asynchronous write operations, refer to
Synchronous and asynchronous write capabilities, page 30.
Use BOCS servers to give users on web‑based clients the fastest possible access to
frequently used content without the requirement to install and maintain a distributed
storage area remote site.
Limitations
BOCS encryption
BOCS servers support partial download of content. BOCS servers can serve content as
it arrives without having to wait for the remainder of the content file to arrive. This
improves performance because users can start viewing content sooner than waiting for
the entire content file to download.
See the Documentum Administrator Installation and User Guide and theBranch Office Caching
Services Release Notes for details on partial download of content.
Configuration requirements
DMS servers
A DMS server is a message routing server. It runs in the application server. Although
part of the Content Server product, DMS is packaged separately, with its own installer
and is installed on a host that is different from the Content Server host. It is not installed
with Content Server.
A DMS server communicates with BOCS servers and the DFC. A DMS server routes
messages regarding:
• Content precaching
• Asynchronous write
The messages are stored internally, in an embedded database. The database is installed
and configured automatically when DMS is installed. The DMS server communicates
with this database using a TCP/IP port that you define when you install DMS.
For information about content precaching, refer to Pre‑cached content, page 29.
Synchronous and asynchronous write capabilities, page 30, describes the asynchronous
write feature.
The operations of the DMS server are integrated into the distributed environment. The
installation is simple, with minimal configuration needed.
Configuration requirements
Precached content
Pre‑cached content is content that has been cached on a BOCS server prior to a request
from a user for that content.
The BOCS server is a caching server. Typically, it caches any content file requested by a
user locally, on its host. However, you can also cache content before a user requests the
content. You can do so programmatically or using a precaching job.
Precaching content is most useful for large content files that are frequently or regularly
requested by users. It provides the fastest possible content delivery to users because the
content is already cached as close as possible to the users.
Limitations
You may not precache virtual documents or content that needs to be manipulated prior
to viewing or modification by the user.
Additionally, resource forks of macintosh files are not pre‑cached; only data forks are
pre‑cached.
Configuration requirements
Asynchronous write capability is the ability to save or check in content to the repository
asynchronously, at some later time after the user requests the save or check in. An
asynchronous write can occur when a user saves or checks in a document containing
content. The underlying application can default to either a synchronous or asynchronous
write to the repository. The application may also allow the user to choose which type
of write to use.
In an asynchronous write operation, the content is stored, or parked, on a BOCS server
host instead of writing the content to the repository immediately. The request to
write the content to the repository is sent immediately. However, if the request is not
fulfilled immediately, the request is sent again by an internal, system‑defined job. That
job implements the method dm_AsynchronousWrite. The method polls for all parked
content that has not been written to the repository and for each file found, sends a
request to DMS to write the content to the repository.
Content that is parked on a BOCS server for asynchronous writes is not removed from
the BOCS content cache after it is written to the repository. Instead, it becomes part of
the cached content on the BOCS server.
If an asynchronous write is used, the content to be written is stored on the BOCS server
host. The content can be accessed for viewing or modification by other users accessing
the repository through the BOCS server. However, the content cannot be accessed by
some administration methods, such as MIGRATE_CONTENT, or by users who are not
accessing the repository through the BOCS server on which the content is parked.
In an asynchronous write, only the content is stored on the BOCS server. An object’s
metadata is always written to the repository immediately.
Asynchronous write operations ensure that a user does not wait for content to be saved
to the repository when the network communication lines are slow. Additionally, other
users in the network locations served by the BOCS server on which the content is parked
have immediate access to the content.
Asynchronous write operations are best used when:
• The branch office and primary office are connected by slow network lines.
• When the content is used primarily by users at the network locations served by
the BOCS servers.
• The content to be saved or checked in is a large content file.
Limitations
Configuration requirements
The component storage areas may be file store or linked store storage areas. The file store
components may be encrypted, but cannot be compressed or using content duplication
checking and prevention. If a component is encrypted, all of the components must
be encrypted. It is not possible to have a distributed storage area with some file store
components that are encrypted and some that are not encrypted.
Note: Linked store storage areas are deprecated. DFC Version 6 does not support linked
store storage areas.
Content files can be shared or replicated between component storage areas. (Refer to
Shared content, page 35, and Content replication, page 36, for a description of those
options.)
Using a distributed storage area solves the performance problems experienced by remote
desktop users when all sites share one repository with centralized content storage. For
example, if the repository and its content files are located in Nice, France, users in
Toronto, Canada, will experience some delays in accessing files due to the distance
between them and the server. If you set up a distributed storage area, each site has fast
access to content files in a local storage area. Users in Toronto will no longer experience
poor performance when opening documents.
For web‑based users, this provides an alternate configuration model if the preferred
model (described in Single Model 1: Single repository with content persistently stored at
primary site and accessed using ACS or BOCS servers, page 14) is not acceptable.
Use constraint
After a repository begins using a distributed storage area, it is not possible to remove
that storage area and return to a standalone, non‑distributed configuration.
Configuration requirements
• All the components of the distributed storage area and the containing distributed
store object must have the same value in the media_type property. This property
indicates whether the files stored in the storage area are thumbnail renditions,
streaming content, or other.
• The index agent and index server must be installed only at the primary site.
There are other configuration requirements that depend on how you choose to handle
content files. Refer to the discussion of the shared content and content replication
options for these requirements.
Contentfile servers
A content‑file server (also called an RCS) resides at each remote site that has a component
of a distributed storage area. Content‑file servers are automatically configured to provide
maximum performance for desktop users for content‑related queries. Content‑file
servers do not handle metadata requests.
When a repository is configured with a distributed storage area, there is a primary site,
and one or more remote sites. The RDBMS, which holds the repository’s metadata,
resides at the primary site. Each site, primary and remote, has a local content storage
area and a local Content Server. The Content Server at the primary site is configured
to service all metadata requests, as well as content requests from clients local to that
server. The content‑file servers at the remote sites are configured to handle only content
requests. These servers provide content to users from their local storage area and write
content to that storage area. An RCS does not handle metadata requests.
This arrangement provides reasonably good performance for content requests because
content is stored locally and accessed by a local server. It also provides reasonably good
performance for data requests because they are handled by the server closest to the
RDBMS.
Constraint
An RCS cannot be used as a fail‑over server for the primary, or data, server. If the
Content Server at the primary site fails, the system cannot failover to an RCS.
Configuration requirements
A configuration using a distributed storage area and its attendant content‑file servers has
the following configuration requirements:
• Proximity values for the Content Server at each site must identify one server as the
data server and all others as content‑file servers.
The basic proximity values are configured automatically when the sites are installed.
However, you may wish to modify the values.
• The index agent and index server must be installed at the primary site.
• The data server’s session time‑out value should be set to a minimum of 30 minutes.
• Servers at all sites must be able to use the same authentication mechanism to
authenticate all remote users and groups accessing distributed documents.
• The content‑file servers and the data server must have compatible secure connection
mode configurations, so that clients connecting from remote sites can access both the
content‑file server and the data server, or the secure connection default for the client
must allow the client to request a connection on a native or secure port
Configuring the servers to accept either secure or native connections is the easiest
solution. For more information, refer to Distributed environments and the secure
connection defaults , page 71. For instructions about setting the server’s connection
mode, refer to the Content Server Administration Guide.
Shared content
Shared content files are files that are stored in one component only of a distributed
storage area but are accessible to users at all sites. Shared content files are fetched
directly by the remote servers when needed.
Servers can fetch the content files directly when the components of the distributed
storage area are configured as shared drives.
Using shared content eliminates the need to enable surrogate get functionality or run
ContentReplication jobs at each component site.
Within a distributed storage area, the documents that are the best candidates for sharing
are those that are local to one site and are accessed infrequently by users at other sites.
Configuration requirements
Content replication
Content replication supports configurations with distributed storage areas. When you
set up a distributed storage area within a repository, some portion of the content files
stored in each site are generally replicated to the other sites. Because each site has a
copy of the content files, servers accessing these files don’t need to fetch them from a
remote storage area.
Content Server provides automatic replication, through the ContentReplication tool,
on‑demand replication, using the surrogate get feature, or manual replication, using the
REPLICATE or IMPORT_REPLICA administration methods.
Note: You cannot replicate just content between different repositories. (If you want to
replicate between repositories, refer to Object replication, page 39.)
Replicated content optimizes content transfer performance when users open a document
because access is local. Consequently, the best candidates for replication are documents
that are large or accessed frequently by users at all locations.
Configuration requirements
The ContentReplication tool and the surrogate get feature both require a homogenous
server environment. The host machines for the participating servers must be all
Windows or all UNIX machines.
If you use the REPLICATE administration method to replicate content or the
IMPORT_REPLICA method to copy content, the servers must be able to connect with
each other. On UNIX platforms, the servers must be able to connect using NFS.
The secure connection mode setting of the target server must be compatible with
the connection mode requested by the client performing the content replication. For
information about ensuring compatibility, refer to Distributed environments and the
secure connection defaults , page 71 .
Reference links
Reference links are a feature of a multirepository configuration. If an enterprise has
multiple repositories, users are not limited to working only with objects in the repository
to which they logged in. Users can also work with objects in other repositories. For
example, a user might receive a task in their home repository Inbox with an attached
document that resides in a different repository. Or a user may view or update an object
in a repository that is a replica of an object in a different repository.
A reference link in one repository points to an object in another repository. The server
creates reference links as needed when users work with objects in multiple repositories
in the course of one repository session or when object replication occurs. The following
operations create reference links:
• Linking a remote object to a local folder or cabinet
• Checking out a remote object
• Adding a remote object to a local virtual document
• Object replication jobs
Reference links simplify work sessions for users. Users can start one repository session
and manipulate objects in any repository without starting a new session each time they
want to access an object in another repository. Reference links can also provide users
with local access to the properties of a remote object.
Configuration requirements
For more information about federations, refer to Federations, page 41 . You can find
information about configuring a repository to use an LDAP directory server in the
Content Server Administration Guide.
Object replication
Object replication supports multirepository distributed configurations. These
configurations have multiple sites with a separate repository and relational database
(RDBMS) at each site. Object replication replicates entire objects (property data and
content) between repositories.
In the receiving repository, replicated objects are stored as replica objects with associated
dm_reference objects. Each replica object has an associated reference object. Users
can manipulate replica objects much as they can the source objects with only a few
constraints. Users can review, annotate, or index replicas. They can query against
them or add them to a virtual document. They can also manipulate the source object
through the replica. (For details of what operations are allowed, refer to Operations on
replica objects, page 59.)
Replication is automated using jobs, which are defined based on the business
requirements of the enterprise.
Replication can reduce network traffic because users access local replicas of the objects
for most operations. This is of most benefit during peak usage times.
Use object replication if you want local autonomy—if your wide area network (WAN) is
not always reliable. If objects are replicated into a repository, users can continue to work
even if the replica object’s source repository is not available.
Configuration requirements
• All participating sites must project to the connection brokers at all other participating
sites.
Note: Cross‑projection between all sites is only required if you want:
— To allow users to manipulate source objects through the replicas
— To allow the server at the target repositories to perform automatic replica
refreshes
If your replicas are read‑only, then cross‑projection is not necessary. For
example, if you are replicating from a repository inside a fire wall to a target
repository outside a fire wall, the target server does not need to project to the
source repository’s connection broker nor the source to the target.
• Because object replication uses the dump and load operations, the databases of
the source and target repositories must either use the same code page or the
target database must be using Unicode. For example, if the source database is
using Japanese and the target is using Unicode, the replication operation succeeds.
However, if the source is using Unicode and the target is Japanese, replication fails.
• The secure_connect_mode defined for the server in the target repository must be
compatible with the secure connection mode requested by the content replication
job that performs the object replication.
The server’s secure connect mode is defined in the server config object. The mode
requested by the job is defined in the dfc.session.secure_connect_default key in the
dfc.properties file used by the job. That file is found on the host machine where the
job resides. The mode defaults to try_native_first.
The Content Server Administration Guide has instructions on setting
secure_connect_mode for a server or a client application.
• If you will be replicating documents created on Macintosh client machines, all
participating sites must use the same Macintosh access protocol.
• Both the source and the target sites for each replication job must have enough disk
space to accommodate the temporary dump files created by the job.
• Each target site must have enough disk space to accommodate the replicated content
files.
Additionally, replication performance is affected by network latency (combination of
network traffic and network speed). For adequate performance, a ping between any two
participating sites should take 200 milliseconds or less.
Refer to Implementing object replication, page 109 for a full discussion of planning
and setup considerations.
Federations
A federation is a set of two or more repositories that are bound together to facilitate the
management of a multirepository distributed configuration. One repository in the set is
the governing repository. The remaining repositories are member repositories.
One enterprise can have multiple federations, but each repository can belong to only
one federation.
A federation can include repositories with trusted servers and repositories with
non‑trusted servers.
Configuration requirements
For the most consistent behavior in a repository federation (or any multirepository
distributed configuration):
• Object type and format definitions should be the same across all participating
repositories.
Documentum Administrator does not propagate type or format changes in a
governing repository to member repositories. You must do this manually or using
your own applications.
• Users and groups should be the same across all participating repositories.
Documentum Administrator is used to manage all global users and groups in a
repository federation. At set up, you must define whether users and groups are
global or local. Making them all global is recommended.
The federation update jobs automatically propagate all changes to global users
defined by dm_user objects. If users are defined by subtypes of dm_user, they are
not automatically propagated unless you identify those subtypes in the federation’s
properties. You can do that when you create the federation or after, as a federation
modification.
Changes to global users and groups are only allowed using the Documentum
Administrator and are propagated automatically to all member repositories.
• The server at the governing site must project to the connection brokers at the member
sites.
• The servers at the member sites must project to the connection broker at the
governing site.
• If you installed any of the participating Content Servers with trusted server licenses,
you must ensure that either:
— The servers are configured to listen on both a secure and a native port
— The secure connection default for clients allows the clients to request a connection
on a native or secure port
Configuring the servers to accept either secure or native connections is the
easiest solution. For more information, refer to Distributed environments and
the secure connection defaults , page 71 . For instructions about setting the
server’s connection mode, refer to the Content Server Administration Guide.
Network locations
Network locations are recorded in the repository designated as the global registry. They
are stored as dm_network_location_map objects. The properties in the object record the
name of the network location, which IP addresses or address ranges are assigned to that
location, and which storage areas are considered near that location.
Network locations are used determine an end user’s proximity to a Content Server or
ACS server, and thereby, the user’s proximity to a requested document. You must define
network locations for remote sites with BOCS servers or ACS servers. The definitions
are not required if remote sites are using the ACS at the primary site and there are no
servers installed at the remote site.
ACS servers
ACS servers handle content requests from web‑based clients. There is one ACS server
for each Documentum installation on a server host machine. The ACS server runs in
the Java method server.
When you configure the first repository in an installation, the procedure installs a Content
Server for the repository and an ACS server for the installation. The procedure also
configures the Java method server service if it does not exist and deploys the acs.war file.
If you later configure additional repositories in that installation, the procedure
automatically updates the ACS configuration information for the existing ACS server.
Adding additional repositories does not add additional ACS servers.
There are two internal components used to configure an ACS server. These are the
acs.properties file and acs config objects. Each ACS server has one acs.properties file and
at least one acs config object. The file is created when the ACS server is installed. The acs
config object is created when a repository is configured.
The acs.properties file identifies the repositories with which the ACS server
communicates. The acs.properties file is edited using a text editor. On a Windows
platform, it is stored in:
UserDirectory\jboss4.2.0\domains\DctmDomain\
upload\MethodServer\acs.ear\APPINF\classes\config
The acs config object resides in a repository. Each repository served by an ACS server
must have an acs config object for that ACS server.
The properties of the acs config object configure a variety of behaviors for the server. For
example, they identify which network locations can be served by the ACS server and
may record the proximity values that define the ACS server’s distance from each of the
locations. The acs config object also has a property that identifies with which Content
Server the ACS server communicates in the repository.
Note: If there are multiple servers installed on a single host machine for a single
repository, the ACS server communicates only with one of the servers. You cannot
manually configure acs config objects for additional servers on a host machine.
The acs config object may also identify which storage areas the server can access. These
must be either standalone file store storage areas or file stores that are components of a
distributed storage area. An ACS server cannot access content in other types of storage
areas. Nor can it directly access encrypted or compressed content or virtual documents
or XML documents. If an ACS server receives a request for a document that it cannot
access, the request is forwarded to its associated Content Server, which will service the
request and send the result back to the ACS.
ACS servers by default are configured in push mode for communications with a DMS
server. They cannot be run in pull mode.
Acs config objects can be modified only through Documentum Administrator.
BOCS server
The BOCS server configuration is recorded in an acs.properties file and a bocs config
object.
The acs.properties file for a BOCS server configures the location of the server’s content
cache and defines how long the server holds the content and some other behavioral
characteristics of the server. (For complete details, refer to the Branch Office Caching
Services Release Notes.) In a BOCS installation on a client host, the file is placed in a
location dependent on the host operating system:
• On a Windows platform, the location is:
UserDirectory\jboss4.2.0\domains\DctmDomain\
upload\BOCS\bocs.ear\APP_INF\classes\config
A BOCS server can communicate with a DMS server in either push or pull mode. This
configuration is set in the bocs config object. If the BOCS server is configured in push
mode, messages routed to the server through DMS are sent by the DMS server to the
BOCS server. In such cases, the DMS server must have HTTP access to the BOCS server.
If the BOCS server is configured in pull mode, messages routed to the server through
DMS are picked up by the BOCS server; the DMS server does not send them to the BOCS
server. In such cases, the URL used by the BOCS server to contact the DMS server must
be configured in the acs.properties file associated with the BOCS server. Additionally,
the BOCS server must identify itself to the DMS server using the PKI credentials installed
with the BOCS server and configured in the bocs config object.
The push or pull setting for a BOCS server may be changed. However, if you change a
pull‑mode server to push mode, the messages pushed to the BOCS server may not arrive
if there is a firewall between the DMS server and the BOCS server. Additionally, queued
messages in the DMS server are marked as either push or pull messages. Consequently,
if you change a pull mode BOCS server to push mode, it will not receive any queued
messages destined for it that are marked as pull messages. Pull mode, rather than push
mode, is typically used for BOCS servers outside of a firewall.
You can configure which repositories a BOCS server can service by defining either a
repository inclusion list or a repository exclusion list for the server. There are two
underlying properties that record this configuration. These are: is_inclusion_list and
docbase_names. If you choose to specify the repositories the BOCS server can service,
the is_inclusion_list property is set to T, and the repositories listed in docbase_names are
the repositories that the server can service. If you choose to specify the repositories that
the server cannot service, is_inclusion_list is set to F, and the names in docbase_names
are the repositories the server cannot service. It is recommended that you do not exclude
any repositories from servicing by a BOCS server.
A BOCS server may be enabled for asynchronous write operations. If enabled and if a
user or application chooses to use an asynchronous write, the content file may not be
written to the repository storage area until a later time. Whether or not a content file is
parked on a BOCS server is recorded in the i_parked_state property of the associated
content object. Applications can use the IDfContentAvailability.getContentAvailability
method to determine whether a content file is available in the storage area. There is also
a method available, isContentTransferCapabilityEnabled, that indicates what content
transfer capabilities are enabled in the repository.
For more information about parked content and asynchronous write operations, refer
to Asynchronous write, page 47.
DMS servers
The DMS server configuration is recorded in a dms config object and a dms.properties
file. The dms config object is created manually after installing DMS. The properties in
the dms config object enable or disable the DMS server and define the URLs to be used to
communicate with the DMS server. The dms config object must be created in the global
registry repository. Dms config objects should be created and modified only through
Documentum Administrator.
The dms.properties file is created when DMS is installed. Most of the keys in the file
are set during installation and are not modifiable. Those keys that can be set may be
modified through Documentum Administrator.
For more information about DMS and the DMS server, refer to the Content Server DMS
Release Notes.
Content precaching
Content can be pre‑cached on a BOCS server either programmatically or through the
execution of a content precaching job.
To cache content programmatically, use the IDfPrecachingOperation package interface
in DFC. For details, refer to the Javadocs.
To use a job, create a precaching job using Documentum Administrator. Creating
precaching content jobs, page 91, describes these jobs.
Communication flow when a content precaching request occurs, page 51, describes the
communications between DFC or a client application, DMS, and an BOCS server for
precaching operations.
Asynchronous write
Asynchronous write must be enabled in both the BOCS server, in the bocs config object,
and in the dm_cont_transfer_config object. Use Documentum Administrator to enable
the feature. Both the bocs config object and the cont transfer config object are stored in
the global registry.
When an application or user requests an asynchronous write operation, the content file is
stored, or parked, on the closest BOCS server before uploading it to the repository. If it is
not uploaded immediately, it is written to the repository at a later time, after an internal
job, which executes the dm_AsynchronousWrite method, executes. That method sends
the write request to DMS server again, and continues sending the message at scheduled
intervals, until the content is written to the repository.
While the content is parked on the BOCS server, the i_parked_state property of its
content object is set to TRUE. The content is available for reading or modification by
any user who can access the BOCS server on whose host the content is parked. Other
users do not have access to the content.
Asynchronous write operations affect content only. The metadata associated with the
object is written to the repository as soon as the user or application requests a write
operation, synchronous or asynchronous.
Communication flow when a remote user updates a content file, page 49, describes
the communications between DFC or a client application, DMS, and an ACS or BOCS
server for asynchronous write operations.
Note: The dm_AsynchronousWrite job requires an index on the i_parked_state and
r_object_id properties of the dmr_content object in the database. This index is created
automatically for new repositories, but must be manually created for repositories
upgraded from pre‑6 versions. For instructions, refer to the Content Server Installation
Guide.
The dm_AsynchronousWrite job is installed in the inactive state.
The following steps describe the basic communications that occur when an end user
using a web browser requests a document for viewing.
7. If the server providing the content is an ACS server, it validates the signature on the
request, using the public key provided to the server. Then, it returns the content
file to the UCF client. (There is one public key per repository. It is stored in the
dm_public_key object.)
If the ACS is on a remote site and it determines that the storage areas it can access do
not have the file, it sends a request to its associated Content Server, which then uses
surrogate get to obtain the file.
8. If the server is an BOCS server, it also validates the signature on the request, using
the public key provided to the server. The server then searches its cache for the
content. If the content is found, the BOCS server returns the content to the UCF
client. If the content is not found, the BOCS server sends the request to the closest
ACS server that has the content. The ACS server then returns the content to the
BOCS server, which in turn, sends the content to the UCF client.
Note: If there are no remote ACS servers close to the BOCS server, the BOCS server
will request the content from the ACS server at the primary site. To ensure faster
performance, frequent replication jobs to replicate content to the remote ACS server
sites should be scheduled.
9. The UCF client writes the content to the user’s local disk.
The following steps describe the basic communications that occur when an end user at
a remote site updates a content file. The steps differ depending on whether there is a
BOCS server configured for the user’s network location and whether the BOCS server
is configured for synchronous or asynchronous writing.
Asynchronous write with BOCS server
5. The WDK‑based application adds an asynchronous write request to the queue for
the DMS server.
From the original user’s point of view, the operation is complete at this point. The
WDK‑based application returns control of the browser to the user. The content file is
available to all users in the same network location. However, the file is not available
to users at other network locations, which are served by other BOCS servers. Users
at other locations can view and edit the metadata, but not the content file.
6. If the BOCS server is configured for push mode, the DMS server retrieves the
asynchronous write request from its queue and passes the write request to the BOCS
server. If the BOCS server is configured for pull mode, the BOCS server contacts the
DMS server and retrieves the write request.
7. The BOCS server copies the content to the ACS server. The ACS server writes a copy
of the content file into a file store at the central location, without removing the copy
in the BOCS cache. The content is now available to all users.
3. The WDK‑based application determines the network location of the remote user.
Using information from the ACS configuration object, the application generates a
URL for writing the content file to the ACS server and passes the URL to the UCF
client application running on the user’s browser machine.
4. The UCF client application writes the content file to the ACS server, using the
generated URL.
5. The ACS server writes a copy of the content file into a file store. The content is
now available to all users.
The following steps describe the basic communications that occur when a precaching
content job runs. The communication flow is similar when an application requests
precaching programmatically using the IDfPrecachingOperation package interface in
DFC.
1. The method server on the Content Server host runs the precaching content job. The
job definition identifies which objects will have their content files pre‑cached and to
which network locations the files will be pre‑cached.
2. Using information from BOCS configuration objects in the global registry, the job
determines which BOCS servers manage each of the selected network locations.
3. The job posts a series of requests to the DMS server queue, one for each copy
operation necessary to precache the selected objects’ content files to the selected
BOCS caches. The BOCS servers at each remote site perform the next two steps.
4. If the BOCS server at a remote site is configured for push mode, the DMS server
retrieves the precaching request from its queue and passes the request to the BOCS
server. If the BOCS server is configured for pull mode, the BOCS server contacts the
DMS server and retrieves the precaching request.
5. The BOCS server sends a request to the closest ACS server that has the content. The
ACS server returns the content to the BOCS server, which stores it in its cache.
For example, if you define a distributed storage area with two file store components, it is
represented in the repository by one distributed store object, two file store objects, and
the two location objects associated with the file store objects. Figure 7, page 52 illustrates
this example.
This is a simple example. In reality, the component storage areas of a distributed storage
area can be file stores or linked stores, and there can be as many component areas as you
need. In one distributed storage area, the components can be all file stores or all linked
stores, or they can be a mixture of the two types. However, all the components must have
the same value in media_type property of their defining storage object. (The media_type
property indicates the formats of the content files in the storage area.)
Note: Linked store storage areas are deprecated. DFC Version 6 does not support linked
store storage areas.
A file store component may be encrypted, compressed, using content duplication
checking and prevention, or any combination of these.
Proximity values
Proximity values are used to define:
• A Content Server’s proximity to a connection broker
• An ACS server’s proximity to a connection broker
For Content Servers, proximity values represent the server’s distance from the connection
brokers. The initial values are set when a Content Server is installed. You can modify
the values.
The values are set in the server config object or in the server.ini file. If a server is
projecting to multiple connection brokers, the proximity values sent to each connection
broker should reflect the server’s relative distance from each connection broker. For
example, assume a server is projecting to connection brokers, A and B, and the server is
farther from connection broker B than connection broker A. In this case, the proximity
value projected to connection broker B should be higher than that projected to connection
broker A. The proximity values should reflect the topology of the network.
When a client requests connection information, the connection broker returns the
proximity value of each known server in addition to other connection information to
the client. The client uses these proximity values to distinguish between the data server
and content‑file servers.
To choose a server for data requests, the client looks for servers with proximity values
of 0 to 999 and from that group chooses the server with the lowest proximity value. If
there are no servers with a proximity value between 0 and 999, the client will look at the
servers with proximity values of 9000 to 9999 and choose the server from that group with
the lowest proximity value as the data server.
To choose a server for content requests, the client looks at all servers, compares the
first three digits of each proximity value, and selects the lowest value. The digit in the
fourth place (0 or 9) is disregarded when choosing a content‑file server. Only the first
three digits, counting left from the ones position, are considered. (Refer to Guidelines,
page 98, for an illustration of this algorithm.) These first three digits are called a server’s
content proximity.
For example, assume that a server is projecting a value of 9032 to a connection broker. In
this case, the server’s proximity value is 9032 but its content proximity value is 032.
(For a discussion of where proximity values are stored and how the server projects
proximity information to connection brokers, refer to the Content Server Administration
Guide.)
When an ACS projects to a connection broker, the information tells the connection broker
that the ACS server is running. This information is used to determine which ACS server
to use when handling content request for a particular user. When asked by DFC, Content
Server presents list of candidate content files. The DFC also asks the connection broker
for a list of the ACS servers that are running. Using both sets of information, the DFC
will choose the file to return to the user.
For instructions on configuring ACS projection to connection brokers, refer to Projecting
an ACS server to connection brokers, page 85.
For network locations, the proximity value identifies the location’s distance from an ACS
server. The proximity values may be recorded in the acs config objects representing
the ACS servers that may service the location. Or, ACS might use proximity values
from its associated Content Server. DFC uses the ACS proximity value to determine the
closest DFC to the user.
For information about setting the values, refer to Setting proximity values for network
locations, page 85.
When you use Webtop for content management and the ACS fails, the UCF client reports
to the UCF server that a content transfer failure has occurred. The UCF server reports
this to the DFC, which will then stop using the failed ACS until it projects again.
To avoid down time in content transfer you can set up multiple ACSs for failover. This
requires multiple network locations and multiple ACSs. These ACSs can either be in
different geographic locations or in the same location. In either case, you need to set up
different network locations and different proximity values for each ACS to set up the
ACSs for load balancing and failover. While all ACSs are running they can balance
the content transfer load, and when one ACS fails another ACS can process the failed
ACS’s traffic.
Use the instructions in the Documentum Administrator User Guide to define network
locations and proximity values for the ACSs. If the ACSs are in different locations, users
will use the ACS located closest (with the lowest proximity value) to their network
location. For example, users located in network A with ACS 1 will use network A with
ACS 1, users in network B with ACS 2 will use network B with ACS 2. If ACS 1 fails,
users of network A will use ACS 2, and if ACS 2 fails, users of network B will use ACS 1.
Shared content
Shared content is architected through shared directories. The distributed storage area
component’s directory at each site must be shared by all sites.
The feature also uses the settings of the far_stores property and the only_fetch_close
property to ensure that content file reads and writes are handled correctly.
The far_stores property is a repeating property, defined for the server config object type,
that contains the names of all storage areas that are considered far for the server. A
server cannot save files into a far storage area.
For example, assume that a distributed storage area has component storage areas in Nice,
Toronto, and Los Angeles. If the component storage areas in Toronto and Los Angeles
are defined as far for the server in Nice, that server can only save files into the component
storage area at its own site—Nice. Similarly, for the server in Toronto, if the component
storage areas in Nice and Los Angeles are defined as far, the server can only save files
into the component area at its site—Toronto.
The only_fetch_close property is defined for the distributed store object type. This
property is FALSE by default, which allows servers to read from far storage areas.
(Setting the property to TRUE means that servers can only read from storage areas not
named in the far_stores property of their server config objects.)
Content replication
Content replication is used when a repository has a distributed storage area. There are
several ways to replicate content to components of the distributed storage area:
• ContentReplication tool
The ContentReplication tool provides automatic replication on a regular schedule.
This tool is implemented as a job. After you define the parameters of the job, the
agent exec process executes it automatically on the schedule you defined.
• Surrogate get
The surrogate get feature provides replication on demand. If you use surrogate
get, when users request a content file that is not present in their local storage area,
the server automatically searches for the file in the component storage areas and
replicates it into the user’s local storage area.
For surrogate get, you can use the system‑defined SurrogateGet method or you
can write your own program.
• REPLICATE or IMPORT_REPLICA
The two administration methods, REPLICATE and IMPORT_REPLICA, let you
replicate content manually. On UNIX, these two methods, these two methods
require that the servers be able to connect using NFS.
Reference links
This section describes the object types that support reference links and how reference
links are handled in cross‑repository applications.
Mirror objects
A mirror object is an object in one repository that mirrors an object in another repository.
The term mirror object describes the object’s function. It is not a type name. For example,
if a user logs into repository A and checks out a document in repository B, the server
creates a document in repository A that mirrors the document in repository B. The mirror
object in repository A is an object of type dm_document.
Mirror objects only include the original object’s property data. Any content associated
with a remote object is not copied to the local repository when a mirror object is created.
Note: If the repository in which the mirror object is created is running on Sybase, values
in some string properties may be truncated in the mirror object. The length definition of
some string properties is shortened when a repository is implemented on Sybase.
Only a limited number of operations can affect mirror objects. For example, users can
link mirror objects to local folders or cabinet or retrieve their property values. Most
operations affect the remote objects represented by the mirror object.
Replica objects
Replica objects are created with an object replication job is run to replicate objects from
one repository to another. The term replica object represents the object’s function. It is
not an object type name. When an object replication job runs, it creates replicas in the
target repository of the objects it is replicating. The replicas have the same object type as
the source objects that was replicated.Object replication, page 61, has complete details
about replica objects.
Reference objects
Every mirror object has an associated dm_reference object. A dm_reference object is the
internal link between the mirror object and the source object in the remote repository.
Reference objects are persistent. They are stored in the same repository as the mirror
object and are managed by Content Server. Users never see reference objects.
DFC supports reference links only for objects of the following types:
• cabinet • query
• note • SysObject
• procedure
DFC does not support creating reference links for other object types.
By default, the operation that creates the reference link also defines which version of
the source object is bound to the reference link. For example, when users check out a
document, they identify which version they want. If they are checking out a remote
document, the specified version is bound to the reference link.
If the version is not identified as part of the operation, the server automatically binds the
CURRENT version of the source object to the reference link.
You can change the default binding. Defining a binding label for reference links, page
154, has instructions.
When a reference link is created by a linking operation, the mirror object is stored in the
requested location. For example, if a user links a document from repository B to Folder
A in repository A, the mirror object is stored in Folder A.
When a reference link is created by other operations, such as checkout or assemble, the
mirror objects are stored in folders in the local repository under /System/Distributed
References. For example, mirror objects created when users check out remote objects
are stored in /System/Distributed References/Checkout.
DFC does not allow users to link local objects to a cabinet or folder that is a reference
link. For example, suppose a folder from the Marketing repository is linked to a cabinet
in the Engineering repository. Users in the Engineering repository cannot add objects
to the folder.
If users execute a script or procedure that is a reference link, DFC fetches the script or
procedure from the remote repository and executes it against the local repository session.
The script or procedure is not executed against the remote repository.
A reference link is most useful when its mirror or replica object reflects the actual source
object. when changes are made to the source object, those changes need to be reflected in
the mirror or replica object. Keeping the reference link synchronized with the source
occurs automatically in most cases.
Replicas are refreshed automatically by the dm_DistOperations job.
Mirror objects are refreshed using an IDfPersistentObject.refresh method.
When an object is replicated into a repository, the replica is given a local object ID.
The operation also creates a reference object for the replica that points to the replica’s
source object.
When users perform operations on a replica object, the operation may affect the replica
or it may affect the source object. Which is affected is dependent on the operation and
how the method’s redirection policy is set. Each DFC method that can operate on a
replica has a redirection policy defined for it in an annotation. That policy determines
whether the method operates on the replica or is redirected to the source object.
The redirection policies, which are defined by the com.documentum.fc.client.distributed.
replica.ReplicaRediretPolicy class, are:
• NEVER
This means the method is always run against the replica object. This is the default
behavior and is appropriate for methods that access only local properties or are
always called by methods whose redirection policy has been set.
• ALWAYS
This policy redirects the method to the source object. This policy is used for methods
that change global properties.
• ON_GLOBAL_CHANGE
This policy directs the method against the source if a global property for the replica
has been changed. This policy is used for operations that read global properties.
• RUNTIME_TEST
This policy redirects the method to the source object based on the results of a
specified runtime test.
• ON_GLOBAL_CHANGE_AND_RUNTIME_TEST
This policy redirects the method to the source object if some global property for the
replica has been changed and a runtime test indicates that redirecting the method is
appropriate. This policy is for internal use only by EMC Documentum.
The annotations are implemented using the com.documentum.fc.client.distributed.
replica.ReplicaMethodBehavior annotation.
To perform an operation on a replica that affects the source object, the repository in
which the source object resides must be active. That is, the source repository must have
a server that is running.
Replica objects cannot be assigned to a retention policy.
Mirror objects
Security on the source object is controlled by Content Server for the source repository
whether the update is made directly to the source or through a reference link.
Security on the mirror objects is controlled by Content Server for the repository that
contains the mirror object. The ACL applied to the mirror object is derived from source
object’s ACL using the following rules:
• If the source object’s ACL is a private ACL, the server creates a copy of the ACL
and assigns the copy to the mirror object.
• If the source object’s ACL is a system ACL and there is a system ACL in the local
repository with the same name, the server assigns the local system ACL to the
mirror object.
In this situation, the access control entries in the system ACLs are not required to
match. Only the ACL names are matched. It is possible in these cases for users to
have different permissions on the source object and the reference link.
• If the source object’s ACL is a system ACL and there is no system ACL with a
matching name in the local repository, the server creates a local copy of the ACL and
assigns the copy to the mirror object. The copy is a private ACL.
Replicas
Replica security is handled by the local Content Server. Each replica is assigned an
ACL when the replica is created by the object replication job. The job’s replication
mode determines how the ACL is selected. For details about replica security, refer to
Replication modes, page 63.
Object replication
Content Server’s replication services allow you to replicate objects (property data and
content) between repositories. Replication is automated, using jobs. Using parameters
you define, the jobs dump a set of objects from one repository, called the source
repository, and load them into another repository, called the target repository. Jobs
can be initiated by:
• The source repository
• The target repository
• A third repository that starts the job but is neither the source nor the target repository.
A repository that performs this function is called a mediator repository.
A replicated object in the target repository is called a replica and is designated by
a replica icon.
Replication jobs
A replication job is defined as a job object in the repository that initiates the job. The
properties of the job object define the parameters of the replication job. They include
how often the job is executed, the source and target repositories, what is replicated, and
the security assigned to the replicas. Additional properties provide status information
about the job. They can tell you the time at which it last executed, the time of the next
expected execution, and whether the job is active or suspended.
Jobs are created using Documentum Administrator by users with Superuser privileges.
A replication job puts the objects to be replicated in a dump file. That file is then used to
load the target repository. By default, all objects replicated by a single job are placed in a
single dump file. If the job replicates a large number of objects, the size of the generated
dump file can be very large because replication jobs replicate the specified objects plus
some associated objects as needed. (Refer to What is replicated, page 65, for a description
of what is actually replicated.)
A very large dump file can be problematic. For example, the size might be a problem if
the job must transfer the file to a target repository over an unreliable network. Or the
size might be a problem if either the source or target repository has limited disk space
for the file.
To avoid problems arising from a large dump file, you can use a method argument,
‑objects_per_transfer, to direct the replication method to break down the job into a series
of smaller dump and load operations. Each of the smaller operations dumps and loads a
specified portion of the objects to be replicated. For example, suppose you want to
replicate 100,000 objects in a single job. Rather than defining the job to use a single dump
file, containing all 100,000 objects and associated objects, you could set the argument to
10,000, which causes the job to use a series of smaller dump and load operations, each
replicating 10,000 objects (plus associated objects).
Replication jobs defined as a series of smaller dump and load operations continue until
all objects to be replicated are replicated. The job dumps a specified number of objects
(plus any associated objects), loads those into the target, then dumps the next set of
objects and loads those, and so forth. There is no manual intervention necessary.
Defining a replication job to use multiple dump and load operations is beneficial if
• The disk space on either the source or target sites cannot accommodate a dump file of
the size that would be generated if all objects to be replicated are put into a single file.
Disk space requirements, page 117, describes how to estimate the needed disk space
for a replication job.
• You want to avoid long, continuous remote dump or load operations
Such operations require an operational network connection for the duration of the
operation, which may require special configuration of firewalls, and so forth.
• An unreliable network makes it difficult to support an automatic transfer of large
files.
• You want to limit the amount of lost work if the replication job encounters an error.
Conditions of use
Defining a replication job to use multiple dump and load operations is subject to the
following conditions:
• The job must be defined as a fast replication job.
Replication modes
There are two replication modes: non‑federated and federated. The modes determine
how the owner_name, acl_name, acl_domain, and a_storage_type properties of each
replicated object are handled.
In federated mode, the replica objects are controlled by global security, and the source
repository retains control of the ownership and security of the replicas. The owner_name,
group_name, acl_name, and acl_domain properties are not mapped to local values in the
target repository. Their values can only be changed from the source repository.
This means that the owner_name and group_name properties in the replicas may contain
values representing users or groups that do not exist in the target repository.
Federated replication handles ACLs in the following way:
• If the target repository contains an ACL that matches the ACL of a source object, the
object’s replica is assigned the local matching ACL.
An ACL is a match if its acl_name and acl_domain property values match those of
the source object’s ACL. The entries in the ACL are not required to match those in
the source object ACL.
If the source ACL is a public ACL, the acl_domain value is reset to dbo when it is
written into the replication dump file. When it is loaded into the target repository,
dbo is considered a match for the owner of the target repository.
• If there is no matching ACL in the target repository, you have two options. You
can choose to:
— Preserve security
The source ACLs are replicated into the target repository. The acl_name and
acl_domain values are retained.
— Remap security
If the source ACL is an external ACL, the replica’s acl_domain is reset to dbo
and the acl_name is reset to the default value specified in the replication job
definition.
In federated mode, the a_storage_type property is a local property. If the target
repository contains a storage area of the same name, the replica content is placed in that
storage area. If no storage area with the same name exists, the replica’s a_storage_type
property is reset to the storage area specified in the replication job definition and the
replica’s content is placed in that storage area.
Note: When a repository is configured, a storage area named replica_filestore_01 is
created. This area can be specified in the job definition as the storage area.
If there is no storage area whose names matches the source storage area and a storage
area is not defined in the job, the content is placed in the default storage area defined for
the dm_sysobject type.
What is replicated
The first time an object replication job runs, the job replicates all objects of type
dm_sysobject and its subtypes that are linked to the source folder or cabinet (and any
subfolders) specified in the job definition. The entire version tree for each object is
replicated.
Note: It is up to the system administrator or other person responsible for replication
operations to determine which documents and folders should be linked to the source
folder or cabinet and to ensure that the linking is done. The server does not select objects
for replication.
The folder hierarchy within the source cabinet or folder is recreated in the target cabinet
or folder. (The target cabinet or folder is defined in the job object.) The source cabinet
or folder itself is not recreated in the target repository.
If a remote folder is linked to the source folder, the replication job replicates the reference
link representing the remote folder. The job does not replicate the remote folder or
any objects in the remote folder.
Additionally, the first run of a replication job also replicates certain objects that are
related to the objects in the source folder or cabinet:
• All annotations attached to a replicated object
• All renditions of the replicated object
• If the replicated object is a parent in any user‑defined relationships in the source
repository, the child object and the associated relation and relation type object are
replicated.
• If the replicated object is a virtual document, all of its components are replicated.
Note: If a component is a remote object and is itself a virtual document or a folder,
the replication does not traverse the remote object to replicate its children (in the case
of a virtual document) or any objects it contains (in the case of a folder).
• If the replicated object has an associated assembly, all of the objects in the assembly
are replicated.
Note: It is possible to create an assembly for a virtual document and attach the
assembly to a simple document. If such a simple document is replicated, the
components of the assembly attached to it are also replicated.
• If the object is attached to a lifecycle, the policy object representing the lifecycle
is replicated.
Note: The replica lifecycle does not function as a lifecycle in the target repository.
Documents cannot be attached to replica lifecycles.
• If a replicated object has properties that reference other SysObjects by their object
IDs, those referenced SysObjects are also replicated with one exception.
The exception is retainer objects. If a replicated object is assigned to a retainer object
(a retention policy), the retainer object is not replicated to the target repository. The
i_retainer_id property in the replica is not set.
• If the replication mode is federated, any events associated with the replicated objects
are also replicated.
What is replicated on subsequent runs of the job depends on whether the job is defined
as fast replication or not.
If the job isn’t defined as fast replication, each time it runs, the job replicates all changed
objects in the source folder. The job also examines all related objects and replicates
any that have changed, even if their parent object—the SysObject to which they are
related—is unchanged. The job also replicates any new objects in the source folder
and their related objects.
In fast replication, with the exception of annotations, the job doesn’t consider related
objects for replication unless their parent object is changed or has not been previously
replicated. If an object in the source folder hasn’t changed since the last replication job, it
isn’t replicated and only its annotations are considered for inclusion. New or changed
annotations are replicated but the object’s other related objects are not included in the job.
If an object in the source folder has changed, it is replicated and changed related objects
are not replicated unless they are also stored in or linked to the source folder.
A fast replication job also replicates any new objects in the source folder and their
related objects.
For example, suppose you have a source folder named Source_TargetB with 10
documents in it, including a virtual document called MyVirtualDoc. MyVirtualDoc has
two direct components, X and Y, and X has one child itself, X_1. The document X_1 is
stored outside the source folder.
Now, suppose you run fast replication jobs with Source_TargetB as the source folder
to repository B. The first time the job runs, the job replicates all the documents in
Source_TargetB and their related objects. After the first run, one document, Mydoc,
is added to the source folder and the document X_1 is versioned. On the second job
run, the job replicates Mydoc and all its related objects. However, MyVirtualDoc hasn’t
changed. Consequently, it isn’t replicated. Its component, X_1 isn’t replicated either
because it isn’t stored in or linked to the source folder.
In fast replication, if you want to replicate related objects regardless of whether the
parent objects are changed, you must link the related objects to the source folder.
Object replication does not replicate aspects associated with a replicated object. If you
have aspects associated with specific instances of an object type, you must create those
aspects in the target repository. Similarly, if you have default aspects defined for an
object type and you replicate instances of that type, the default aspects must be manually
created in the target repository. The aspects must be created in the target repository
before performing the object replication.
It is recommended that you manually ensure that all format objects for a particular
format across participating repositories are the same.
If the format of a replicated SysObject is not present in the target repository, Content
Server will create the format object in the target repository. However, if you later change
the format object in the source, the changes are not reflected in the target repository, nor
will the changed format object be recreated in the target the next time the job runs. To
ensure that format definitions are the same across participating repositories, create and
maintain them manually.
With one exception, data dictionary information is not replicated for object types or
properties. The exception is the dm_policy object type. If the replication job replicates
a dm_policy object, the data dictionary information for the policy object type and its
properties is replicated also.
In the target repository, data dictionary information for any object types or properties
created by the replication process is available after the next execution of the data
dictionary publishing job.
Full refreshes
It is possible to run a replication job as a full refresh job. Such a run will behave as a
first‑time execution of the job and update all replicas, regardless of whether the source
has changed. However, full refreshes do not change the r_object_id property of the
replicas in the target repository.
Those objects that are related to objects in the source folder and are replicated because of
their association with the source objects are stored in folders called Related Objects in
the target repository. There is one Related Objects folder for each replication job that
targets the repository. The Related Objects folder is located under a job’s target folder
in the target repository.
Documentum’s replication services use the agent exec process that is part of Content
Server. This process runs continuously and, at intervals, scans the repository for jobs that
are in need of execution. The process uses properties in the job definition to determine
whether to launch the job. These properties define how often the job is run and when.
When the agent exec program finds a job that must be run, it executes the method
that runs the program associated with the job. This method is also specified in the job
definition. For replication, the method is the replicate_folder method, which is created
as part of the replication installation and configuration process. The replicate_folder
method runs the replicate_folder program, which is provided as part of Content Server.
The replicate_folder program performs the actual work of replication. In the
source repository, it dumps the source cabinet or folder to a file, performs delete
synchronization, transfers the dump file to the target repository, filters the file, and loads
the filtered file into the target repository. (Delete synchronization makes sure that any
objects that have been deleted from the source repository are also deleted from the
target repository.)
Federations
Federations are created using Documentum Administrator. You define a repository as
the governing repository in a federation, add member repositories, and activate the jobs
that keep global users, groups, and external ACLs synchronized.
Supporting architecture
After a federation is created, global users, groups, and external ACLs are synchronized
automatically using jobs and methods. Documentum Administrator manages any
changes, additions, and deletions to users and groups using a change record file. The
changes recorded in the file are propagated to all members by jobs. The Documentum
Administrator manages external ACLs using replication jobs.
The jobs that perform these operations are activated by Documentum Administrator.
Distributed messaging
Distributed messaging is a feature of Content Server that supports multirepository
configurations. The server copies events from one repository to another to facilitate
distributed workflows and distributed event notification.
Distributed workflow occurs when an application or user assigns an activity in a
workflow definition in a repository to a user in another repository. When the activity is
started, the server creates a distributed task (queue item) in the local repository that is
copied to the user’s home repository. It appears in the user’s home repository inbox.
Distributed event notification occurs when users register for event notifications in a
repository that is not their home repository. When the event occurs, the server in the
repository that contains the registration creates a distributed event notification (queue
item) that is copied to the user’s home repository. The event notification appears in
the user’s home repository inbox.
Distributed messaging is implemented using five properties in the dmi_queue_item
object type. Table 1, page 72 briefly describes these properties.
Property Description
source_docbase The repository in which the event or task
originates.
target_docbase The home repository of the user receiving
the event or task.
Property Description
remote_pending TRUE if the dmi_queue_item must be
copied to the target repository. FALSE
if it has already been copied or is not a
distributed queue item.
source_event_id Object ID of the source dmi_queue_item
object that generated this queue item in
the target repository.
This chapter describes how to implement the building blocks most commonly used to create
single‑repository distributed configurations. The topics in this chapter are:
• Implementing a distributed repository without a distributed storage area, page 75
• Installing with Distributed Storage Areas, page 76
• Creating Network Locations, page 83
• Adding network locations to an acs config object, page 84
• Projecting an ACS server to connection brokers, page 85
• Setting proximity values for network locations, page 85
• Definining accessible storage areas for an ACS server, page 87
• Modifying an acs.properties file, page 88
• Disabling access to a server, page 90
• Configuring shared content files, page 90
• Creating precaching content jobs, page 91
• Distributed storage areas and Documentum Transformation Services, page 93
• Setting up content replication, page 94
• Setting proximity values for Content Server projection to a connection broker, page 98
Caution: After a repository is set up with and using a distributed storage area, it
is not possible to remove the distributed storage area and return to a standalone,
non‑distributed configuration.
There are three stages in the process of setting up a distributed storage area:
• Planning
• Setup at the primary site (the site where the RDBMS resides)
• Setup at the remote sites
Planning
Before you begin installing the Content Servers at any site:
• Decide whether to share distributed content or replicate distributed content or use
a combination of both.
• Read and follow the guidelines in the next section to ensure that your environment
is set up correctly.
• Use our guidelines for estimating the required disk space take sure you have enough
disk space at the site.
Guidelines
To ensure that your distributed architecture works properly, follow these guidelines:
• The Content Server at each site (primary and remote) must be able to authenticate
the user, using the same mechanism.
When a remote user logs into a repository, the client sends two connection requests,
one to the content‑file server and one to the data server. Each server must be able to
authenticate the user using the same authentication mechanism.
• If you intend to share content files among the component storage areas, the
installation owner for all servers accessing the repository must be the same account
at all sites.
Having the same installation owner at each site allows the Content Server at each
site to access content files at the other sites. On Windows platforms, to meet this
requirement, you must have a global domain for all sites and you must establish a
global dmadmin account (or equivalent) in that domain. At each site, you must log
into the global dmadmin account when you install and configure the Content Server.
• For a Windows environment, all machines running a Content Server for a particular
repository have to be in the same domain.
• Method objects must be resolvable at all server sites if the sites are not connected
using NFS.
In a distributed installation, the method commands defined by the method_verb
property of the method object must exist at each server site.
Note: Some method objects may not have a full file system path defined (in the
method_verb property) for the program they represent. For such programs to work
correctly, the command executable must be found in the PATH definition for the
user who is executing the command. If the run_as_server property for the method
object is set to TRUE, the user executing the command is the installation owner.
If run_as_server set to FALSE, the user executing the command is the user who
has issued the EXECUTE statement or the DO_METHOD administration method.
(Note that run_as_server is set to FALSE by default in the methods defined in the
headstart.ebs file.)
Before you begin installing distributed sites, estimate how much disk space is required
for content storage at each site.
The amount of space required at each distributed site depends on the following factors:
• Total number of bytes per document
• Total number of documents in the distributed repository
• Number of distributed sites
• Number of versions of each document that you intend to keep online
• Whether you intend to keep renditions of the documents
• Whether you intend to replicate each document to all sites
The formula for estimating disk space is:
(total # of documents)x(# of sites)x(bytes/document)
x(# of versions) = total amount of disk space
To estimate the total number of bytes per document, sum the following figures:
• Number of bytes for an average document
• Number of bytes for any renditions
where server_config_name is the name of the server config object for the site’s content‑file
server. If the full name, including the fs_rcs_ prefix is longer than 32 characters, the
prefix is truncated so that the full name of the storage area is no longer than 32 characters.
The installation procedure also runs a script to install all the administration
methods needed for that storage area. For information about the script, refer to The
dm_rcs_setup.ebs script, page 83.
For example, suppose there are three component sites, SiteX, SiteY, and SiteZ. If
you are editing the server config object for siteX, its Far Stores list must include
the component storage areas for SiteY and SiteZ.
c. Optionally, reset the proximity values for the content‑file servers.
The installation process automatically sets a remote server’s proximity to its local
connection broker as 9001 and its proximity to the primary Content Server as
9010. You may want to reset the values to reflect your network’s topography.
Setting proximity values for Content Server projection to a connection broker,
page 98, contains instructions and guidelines for choosing and setting
appropriate proximity values.
14. Ensure that users and groups accessing distributed documents can be authenticated
by servers at all sites, using the same mechanism.
In a configuration using a distributed storage area, when a user connects to a
repository, the client sends two connection requests: one to the data server and one
to the content‑file server. Each server must be able to authenticate the user’s name
and password using the same authentication mechanism.
15. If users at remote sites will be accessing the repository using web‑based client
applications (such as Webtop), perform the following additional steps for each
remote site:
a. Define at least one network location for the ACS server at the site.
Creating Network Locations, page 83, contains instructions.
b. Add the network location to the acs config object.
Add the location to the acs config object for each ACS server that can service
requests from that network location. For instructions, refer to Adding network
locations to an acs config object, page 84.
c. Define the network location’s proximity to the ACS server or servers.
Refer to Setting proximity values for network locations, page 85, for guidelines
and instructions.
d. Define the ACS server’s projection to a connection broker.
Projecting an ACS server to connection brokers, page 85, provides instructions
and guidelines for defining projection targets for ACS servers.
16. Ensure that all machines hosting a Content Server, content‑file server, or ACS server
are using UTC time and are synchronized.
When a server at a remote site (content‑file server or ACS) connects to the primary
site to fetch content using surrogate get, it uses a global login ticket configured
to be valid for 5 minutes to connect. If the clocks in the host machines are not
synchronized, the connection may fail if the host machine finds the login ticket
invalid if the time difference is greater than 5 minutes.
where repository is the name of the repository, server_config_name is the name of the server
config object for the Content Server at the remote site, local_connection_broker_host is the
host name of the computer for the local connection broker, and local_connection_broker_port
is the port where the local connection broker listens.
Each ACS and BOCS server typically serves one network location. For example, suppose
a remote office in Florida has a Content Server and an ACS server. All the IP addresses
for machines in that office and those of the Florida‑based telecommuters would be
specified in one network location map object, and that object is then identified in the acs
config object associated with the ACS server in the Florida office.
However, an ACS or BOCS server can serve multiple network locations. For example,
perhaps a separate network location object is defined for each building in the Florida
office and one for each telecommuter. In this case, each network location must be
included in the acs config object.
Network locations are recorded in the installation as dm_network_location_map objects
that reside in the global registry. They must be stored in the global registry. The name of
each location, stored in the dm_network_location_map.netloc_ident property, must be
unique among the set of network locations in the global registry. Within the acs config
object, they are identified in the acs_network_locations repeating property. Within a bocs
config object, they are identified in the network_locations property.
After you create the locations, update the acs and bocs config objects to include those
locations that the associated ACS or BOCS server will service. In addition to specifying
the locations in theconfiguration object, you must define the proximity of each location to
the associated ACS or BOCS server. For instructions on updating the acs config objects,
refer to Adding network locations to an acs config object, page 84. For instructions on
setting proximity values, refer to Setting proximity values for network locations, page
85. Instructions on updating bocs config objects are found in the Branch Office Caching
Services Release Notes.
Use Documentum Administrator to update an acs or bocs config object to add a network
location and its proximity values. For guidelines on setting the proximity, refer to Setting
proximity values for network locations, page 85.
Property Use
projection_enable Determines whether the ACS server is projecting to the
connection broker identified in the corresponding index
position in projection_target.
config object for the Content Server associated with the ACS server can be used. Those
values are set to modifiable defaults when the Content Server is installed.
If you want to use the settings in the server config object, you must set the config_type
property in the acs config object to 1. That setting directs the system to use the values
in the server config object to obtain network location names and proximity values for
the ACS server. If you want to edit those values, you must do so by editing the server
config object.
Note: Setting that property to 1 also directs the system to consider the storage areas
accessible to the Content Server as the storage areas accessible to the ACS server. For
more information, refer to Definining accessible storage areas for an ACS server, page 87.
Table 3, page 86, lists the properties in the acs config or server config object that are
used to record and handle proximity values for network locations. All the properties in
the table are repeating properties. The values across one index position represent the
proximity definition for one network location.
Table 3. Properties in acs config and server config objects related to network proximity
values
Property Use
projection_netloc_enable Determines whether the system regards the ACS server
as available for the network location identified in the
corresponding index position in projection_netloc_ident.
Property Use
projection_netloc_ident List of the network locations that the ACS or BOCS server
can service. Set this the name of the network location.
This is the name set in the netloc_ident property of the
dm_network_location_map object.
Note: Network locations specified in this property must
also be listed in the dm_acs_config.acs_network_locations
property.
projection_proxval Proximity of the network location at the corresponding
index position in the projection_netloc_ident property to
the ACS server.
Use Documentum Administrator to edit the acs config or server config object and set the
properties listed in Table 3, page 86, to define network location proximity values.
The ACS server installed at the primary site has a built‑in proximity of 9001. This means
that, by default, all network locations have a proximity of 9001 to the ACS server at the
primary site. If a user at a network location cannot access other, closer ACS servers,
the ACS server at the primary site is used.
• If config_type is set to 1, the ACS server uses the storage areas listed in the server
config object’s far_store property as a list of unaccessible storage areas. That is, if a
storage area is identified in the far_stores property, the ACS server cannot fetch
content from that storage area. Instead, the ACS server can fetch content from any
storage area visible to the server and not listed in that property.
Note: When the config_type is 1, the ACS Properties page in Documentum
Administrator displays those storage areas listed in the Content Server’s far_stores
property. You cannot edit that field from the ACS Properties page. You must edit it
from the server config’s Properties page. (If the config_type is 1, the radio button
labeled “Use the projection targets, network locations, and near stores already
configured for the associated server config object” is selected on the ACS Properties
page.)
• If the config_type property is set to 2, the ACS server uses the storage areas listed
in the near_stores property of its acs config object as its accessible storage areas. (If
the config_type is 2, the radio button labeled “Manually enter projection targets,
netowrk locations, and near stores” is selected ACS Properties page.)
The near_stores property is not set during the installation process.
By default, config_type is set to 1 when an ACS server is installed. To change the setting,
and to set the near_stores property, use Documentum Administrator to edit these from
the ACS server Properties page.
File location
When the associated server is an ACS server, the location is:
• On a Windows platform:
UserDirectory\jboss4.2.0\domains\DctmDomain\
upload\MethodServer\acs.ear\APPINF\classes\config
• On a UNIX platform:
$DOCUMENTUM_SHARED/jboss4.2.0/domains/DctmDomain/
upload/MethodServer/acs.ear/APPINF/classes/config
Each parameter entry of a particular type is numbered after the first. For example,
suppose the file currently has entries for only one server, the server for the Engineering
repository. You want to add entries for an additional server for that repository. The
additional entries would be:
repository.name.1=engr_1
repository.login.1=engr_1_login_user
repository.acsconfig.1=<acs config object name>
Note that each additional entry for each parameter is designated with a “.1”. If you
added a third server, the number is incremented by one. The entries for the third server
would end in “.2” (The first entry for each parameter has no number.) You can add up to
99 entries for these parameters.
Setting repository.password is not needed or recommended. The ACS server uses
trusted login to connect to the Content Server by default.
Note: If you followed the installation procedure for distributed storage areas, the
far_stores property for the server at each of your distributed sites contains the names of
all the other sites.
A server cannot save to a storage area defined as far. Whether the server can fetch from a
far storage area is controlled by the only_fetch_close property.
When the property is FALSE (the default), the server can fetch files from far storage areas
directly if the storage areas are shared directories.
When only_fetch_close is TRUE, servers cannot fetch content files from component
storage areas named in the far_stores property in their server config objects. If a user
opens a document whose content file is found only in a far storage area, the server will
attempt to satisfy the request using surrogate get functionality. (Refer to Using the
Surrogate Get Feature, page 96, for information about setting up surrogate get.)
Argument Description
docbase_name Name of the repository that contains the content you
wish to precache
user_name Installation owner user name
query_type Name of the object type that is the target of the DQL
query
query_predicate DQL WHERE clause qualification that identifies the
content to be pre‑cached
Argument Description
network_locations Comma‑separated list of network location object IDs or
the keyword dm_all_network_locations.
If, for some reason, a content fails to be pre‑cached after the DMS delivers the precaching
request to a BOCS server, you can run the method manually, with a custom predicate,
to regenerate the request for that content. Use Documentum Administrator to run the
method.
Format objects
Set the default_storage property of the format objects representing the rich media
primary content stored in the distributed store to the object ID of the dm_distributedstore
object.
If you are putting the thumbnail renditions in a distributed store, set the default_storage
property of the format objects representing the rendition formats to the object ID of
the rendition’s distributed storage area.
The content‑file servers at the component sites increase performance of queries and
content retrieval because the requests go the server closest to the requested information.
However, retrieving thumbnails is less efficient because they are not stored locally. If
you want to store them locally and retrieve them with a content‑file server, you must
use a Getfile, instead of a URL, to retrieve the thumbnails. Typically, though, using
Getfile is slower than using a URL.
Surrogate get
Surrogate get is a Content Server feature that is triggered when a user uses getFile to
request a file stored in an inaccessible (typically remote) component of a distributed
storage area. In such cases, the server automatically fetches the file and replicates it to
the local area. Surrogate get only works if the file is requested using a getFile method.
(Using the Surrogate Get Feature, page 96 describes the feature in detail.)
Thumbnail renditions and streaming content are generally retrieved using URLs. To
obtain a URL, an application specifies the THUMBNAIL_URL keyword in a SELECT
statement or issues a GET_FILE_URL administration method. When Content Server
receives the request for the URL, it attempts to locate the requested file in the local
component of the distributed storage area. If the server doesn’t find the file in the local
component, the server returns default parameters, from which the application can
construct a URL that returns a default thumbnail. The server will not attempt to find the
file in another storage component and replicate it in the local component.
Automatic Replication
There are two ways to replicate content automatically. You can use either or both in a
single‑repository distributed configuration. The tools are:
• ContentReplication tool
• Surrogate get feature
The ContentReplication tool greatly simplifies administration of content replication. The
tool requires only enough temporary disk space to transfer the largest individual content
file to be replicated. (In contrast, using dump and load requires enough temporary space
to hold a dump file containing all content files to be replicated.) The ContentReplication
tool is recommended for most situations. Refer to the Content Server Administration
Guide for instructions on using this tool.
The surrogate get feature replicates content on demand to the user’s local storage area.
When a user attempts to access the content, the server recognizes that the content is not
available locally and calls the dm_SurrogateGet method. The method obtains the content
from another server and executes an IMPORT_REPLICA call (an administration method)
on the local server to make the content available to the user. The dm_SurrogateGet
method is a system‑defined method installed with Content Server. (For more information
about the method, refer to The dm_SurrogateGet Method, page 97.) Using the Surrogate
Get Feature, page 96 describes how to set up the surrogate get feature.
Manual Replication
The dm_SurrogateGet method implements the surrogate get feature. The method
is installed automatically along with the system administration tools. When you
create a storage area, the get_method property of the storage area object is set to
dm_SurrogateGet.
By default the dm_SurrogatGet method requires the following arguments to control
whether to perform a content check:
• do_content_check, which verifies the hash values of the content files and performs a
content check.
• no_content_check, which does not perform a content check.
The method uses a global login ticket to connect to remote servers. The ticket has
a validity period of five minutes. Host machines must be set to UTC time and
synchronized. If that is not done, the host machine of the process receiving the login
ticket may consider the ticket invalid if the time difference is greater than five minutes.
All surrogate get operations can be traced. When tracing is turned on, the trace file is
called sugg.trc and is found in the %DOCUMENTUM%\bin ($DOCUMENTUM/bin)
directory. Tracing surrogate get, page 130, contains instructions for turning on tracing of
surrogate get operations.
You can also turn on tracing for the method invocation. Tracing the method invocation
logs the method command line in the server log whenever the method is invoked. For
instructions on turning on tracing for method invocation, refer to Tracing surrogate
get, page 130.
Using REPLICATE
The REPLICATE administration method copies a file from one component storage area
to another. The arguments determine which file or files are copied and where the copies
are put. (Refer to the Content Server DQL Reference Manual for the syntax.)
You cannot select a component storage area from which to copy the file or files. You
select only the target area; the server searches the remaining component areas in the
distributed storage area and replicates the first copy of the file it finds.
If you are using EXECUTE to execute this administration method, the basic syntax is:
EXECUTE replicate
WITH query = 'dql_predicate',
store = 'target_storage_area_name'
When you use the Apply method, you must set the object_id argument to NULL.
REPLICATE and the argument names and datatypes must be entered in uppercase.
Using IMPORT_REPLICA
The IMPORT_REPLICA administration method copies a file into a distributed storage
component storage area. The file can be located in another component of the distributed
storage area or in an external file system. If the source file (the file you are copying) is in
another component of the distributed storage area, the server must have access to the
disk on which the area resides. On UNIX platforms, if the disk is on another machine,
the server must have access to NFS. If the file is in a directory on the same machine as the
server or on a tape, diskette, or floppy, NFS is not required.
If you are using EXECUTE to execute IMPORT_REPLICA, the basic syntax is:
EXECUTE import_replica FOR content_object_id
WITH store = 'name_of_target_storage_area',
file = 'file_path_of_desired_file'
Guidelines
Use the following guidelines to define proximity values:
• Define proximity values for data servers in the range of 0 to 999. It is not necessary to
include leading zeros.
• Define proximity values for content‑file servers in the range of 9000 to 9999.
• Define proximity values for the primary server (the Content Server at the primary
site) so that:
— The server always projects the lowest proximity value among all servers
projecting to any connection broker.
— The server projects a content proximity value to the primary site connection
broker that is lower than those projected to the site by the remote servers.
— The server projects content proximity values to remote connection brokers that
are higher than those projected from the remote sites.
• Define proximity values for a content‑file server so that:
— The proximity value it projects to a connection broker is higher than the
proximity valued projected by the primary server.
— The proximity value it projects to its local connection broker is lower than any
projected to that connection broker from other sites.
• If two Content Servers have the same content proximity value and a client has
already established a data connection to one of them, the client uses the established
connection for content requests also, instead of opening another connection.
• A proximity value of ‑1 represents a server that is not available for any type of
connection.
At site A
When a user requests a connection, Connection BrokerA returns the following server
and proximity value pairs:
DemoA/0001
DemoB/9002
DemoC/9003
For data requests, the client uses DemoA because it is the only server with a proximity
value in the 0 to 999 range. (If there were more than one server with a proximity value in
that range, the client would choose the server with the lowest value.)
For content requests, the client also selects DemoA also because it has the lowest
projected content proximity (001). Using the same server for data and content at the
primary site is fine. DemoA is the closest server for users at the primary site.
Note: You can set up both a data server and a content‑file server at the primary site.
The content‑file server at the primary site must project a proximity value to the local
connection broker that is higher than the data server’s proximity value and a content
proximity value that is lower than any value projected by the servers at the remote sites.
At site B
When a user requests a connection, Connection BrokerB returns the following server
and proximity value pairs:
DemoA/0002
DemoB/9001
DemoC/9002
For data requests, the client uses DemoA, as it is the only server with a proximity value
in the 0 to 999 range. For connection requests, the client selects DemoB because its
content proximity value (001) is lower than the content proximity value (002) projected
by DemoA or DemoC.
At site C
When a user requests a connection, Connection BrokerC returns the following server
and proximity value pairs:
DemoA/0003
DemoB/9003
DemoC/9001
100 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing SingleRepository Models
For data requests, the client uses DemoA, the only server with a proximity value
between 0 and 999. For connection requests, the client selects DemoC because its content
proximity value (001) is lower than the content proximity value projected by either
DemoA or DemoB (003).
FirstTime Use
The first time a content‑file server issues a Getfile request to retrieve a document, the
response time may be slow. The server constructs some internal structures to handle
Getfile requests. Subsequent calls use the structures built with the first call and are faster.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 101
Implementing SingleRepository Models
102 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Chapter 4
Implementing Multirepository Models
This chapter describes how to set up the most commonly used building blocks for multirepository
distributed environments. Topics in this chapter include:
• Repository configuration for distributed environment, page 103
• Setting up a federation, page 107
• Implementing object replication, page 109
• Best practices for object replication, page 125
For descriptions of federations and object replication, refer to Federations, page 41 and Object
replication, page 39 .
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 103
Implementing Multirepository Models
• Distributed operations job activation, page 107 : The distributed operations job must
be enabled at each repository.
104 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
More information about connection broker projection targets can be found in the Content
Server Administration Guide.
User setup
In the current implementation, the participating repositories must all use the same user
name when establishing a connection for the internal jobs that manage distributed
operations.
Password setup
The server for each repository must have a password for the user you defined
in the previous section (User setup, page 105). To define the password, set up a
dm_operator.cnt for each repository and the appropriate number of repository.cnt files
for each repository. The following procedures describe how to set up these files.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 105
Implementing Multirepository Models
If you have object replication jobs that have defined a user other than the user identified
in User setup, page 105 as the remote user, you may experience errors when you
execute the jobs. The errors may occur because object replication jobs now use the
dm_operator.cnt or repository_name.cnt password files to retrieve the password for the
remote user.
For example, if you are running a replication job from target repositoryB that connects to
repositoryA as a pull replication, the repositoryB server reads the local dm_operator.cnt
or repositoryA.cnt file (depending on which is present) to obtain a password to use to
connect to repositoryA.
To avoid errors, either give the remote superuser defined in your jobs the same password
as the user identified in User setup, page 105 or change the remote user in the job to the
user identified in User setup, page 105 .
106 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
Setting up a federation
A federation is two or more repositories that are bound together to facilitate management
of global users, groups, and ACLs in a multirepository distributed configuration. One
repository in the federation is defined as the governing repository. All changes to global
users, groups, and external ACLs must be made through the governing repository.
Typically, an enterprise will have one federation. If an enterprise includes multiple,
mutually exclusive groups that don’t need to share documents, you can set up multiple
federations. However, a repository can belong to only one federation.
A federation can include repositories with trusted servers and repositories with
non‑trusted servers.
We do not recommend mixing production, test, and development repositories in one
federation.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 107
Implementing Multirepository Models
Creating a federation
Federations are created and managed through Documentum Administrator. The
following procedure summarizes the necessary steps. Documentum Administrator
includes detailed online help for each step.
To create a federation:
1. Decide which repositories will participate in the federation and which repository
will be the governing repository.
2. Make sure the governing repository is projecting to the connection brokers for all
member repositories.
3. Make sure the member repositories are projecting to the governing repository’s
connection broker.
Only repositories that project to the governing repository’s connection broker appear
in the list of possible member repositories.
Projection targets are defined in the server config object, which can be modified
using Documentum Administrator. For instructions about adding connection broker
projection targets to servers, refer to the Content Server Administration Guide.
4. Create the federation using Documentum Administrator.
For instructions, refer to the Documentum Administrator online help.
Guidelines:
• Checking the checkbox to make all current users and groups in the repository
global activates the dm_FederationUpdate job. This job is responsible for starting
the methods that keep the global objects synchronized across the federation. The
job is inactive when installed.
If you do not check the checkbox to set all users and groups to global, you
must manually set the dm_FederationUpdate job to active. (Use Documentum
Administrator to do that.)
108 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
• The federation name must consist of ASCII characters and cannot contain any
single quotes (’). You cannot change this name after the federation is created.
• The server uses the superuser name and password you provide for each member
to connect to the member repository when running federation jobs and methods
that update the global objects.
• If the member repository is running on a domain‑required Windows server or if
the superuser is in a domain that is different from the default, enter a domain
for the superuser.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 109
Implementing Multirepository Models
110 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
The following sections describe the typical business requirements for users, groups,
object types, security, workflow, and administration needs and discuss how these affect
your replication implementation.
If your company has clearly defined functional divisions, translate these into appropriate
Documentum group objects, to be defined in all repositories involved in replication. If
you are developing an enterprise‑wide replication plan prior to actually creating any
repositories, create a standard script that defines these groups.
If you are not placing the repositories in a federation, you can run the standard script in
each repository and be assured that the group definitions meet the business requirement
and are standard across all repositories. (Edit the script for each repository so that the
group creation statements are specific to the users in that repository.)
If the participating repositories will belong to a federation, it is only necessary to run the
script at the governing repository site. The groups are automatically propagated to the
other sites when the federation is created and the management jobs are active.
If you are converting existing repositories to accommodate a new or modified business
requirement for replication, you may find that you must create new groups or modify
existing groups. It still may be possible to utilize a standard script for this purpose, but
some repository‑by‑repository modifications may also be necessary.
Document types
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 111
Implementing Multirepository Models
For example, suppose the user‑defined document type planning_doc has 15 user‑defined
properties including the property project_leader in repository 1, but it lacks that
property in repository 2. Replication from repository 1 to repository 2 would result in
a replica with 14 of the user‑defined properties, but not project_leader. A replication
from repository 2 to repository 1 would result in a replica with all 15 properties present,
but with no information in the project_leader property.
If you replicate an object whose type is not defined in the target repository, the operation
will create the type in the target repository as part of the replication process.
Documentum defines users at the repository level. If a user is defined in more than one
repository, that user has a unique Documentum user ID in each repository. In a default
installation, the server considers each a different user, even if the user_os_name and
user_name properties are identical in both repositories. In a federation, users are global
objects managed by the governing repository, and the server considers users having the
same user_os_name and user_name properties in different repositories to be identical.
There are no user management concerns if you are replicating between repositories in
the same federation. The federation’s management jobs ensure that the user definitions
are the same in each member repository.
Replication between repositories that are not in a federation or not in the same federation
does not require user definitions to be the same across the repositories. In such cases,
the replication job maps the ownership of the replicated objects to users in the target
repository.
If your company has no policy for uniquely identifying users across sites, you can define
users repository by repository. If there is a policy for uniquely identifying users across
all sites, you can use this identification scheme in Documentum without modification.
The product works in either situation.
When a new user joins a project or the company, it is up to the administration personnel
to add the user to the appropriate groups, including any groups participating in
replication processes if necessary. Generally, cross‑repository coordination is not
required. However, you may have set up some customizations that require coordination.
For example, if you create registered tables of remote repository users and user_names
in each repository (to support cross‑repository event notification, for example), adding
a new user to a repository requires coordination. In such cases, the new user must be
added to the registered tables in the remote repositories also.
112 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
Security
The choices you make for security depend on the replication mode you are using.
There are two replication modes: non‑federated and federated. Each provides different
security options. Replication modes, page 63 describes the security options available
for each mode.
If you are using non‑federated mode and choose to assign the same ACL to all replicas,
security requirements may dictate what documents are included in a replication job. A
replication business requirement with very complex security could be implemented by
creating an ACL containing grants to many groups within the target repository, each
with different access rights. Alternatively, the replication job could be divided into a
group of replication jobs, each with its own simple but unique ACL.
Infrastructure
After you define your business requirements for replication, determine whether your
infrastructure meets the needs of the requirements. Infrastructure is defined as the
hardware, networking software, and people that support Documentum replication. You
must determine whether you have adequate hardware resources, whether you want to
perform replication online or offline, and how you want to assign the duties associated
with managing a replication site. The following sections address these issues.
Reference metrics
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 113
Implementing Multirepository Models
There are two basic options for object replication: online and offline.
114 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
Online replication is the default. In online replication, the replication job originates at
the target site, synchronously requests source‑site processing, synchronously transfers
the resulting dump file, then synchronously performs the target‑site processing to
complete the replication.
In offline replication, the replication job originates at the target site and requests the
source‑site processing. Asynchronously, the source site places the dump file in a
requested location. A system administrator then uses ftp or tape to move the dump
file from its source location to the target location. After the dump file is placed in its
target location, the replication job picks up where it left off, performing the remaining
target‑site processing.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 115
Implementing Multirepository Models
XYZ Enterprises has three geographically dispersed repositories: X, Y, and Z. They have
two products on the market that were developed at their original site, X, which continues
to control everything related to these products. However, Site Y needs rapid access
to the documentation for products 1 and 2, and site Z needs rapid access to product
2 documentation.
Additionally, XYZ Enterprises is developing a new product that requires collaboration
among all three sites. Every document produced in connection with the new product
will be replicated from its originating site to the other two. All three sites are expected to
generate large amounts of review annotations, which must also be replicated to all sites.
The company has defined the following six replication jobs to achieve these business
objectives:
Product 1 Replication Jobs:
Job 1. From X to Y once a week
Product 2 Replication Jobs:
Job 2. From X to Y once a week
Job 3. From Y to Z (X documents received indirectly from Y) once a week
New Product Replication Jobs:
Job 4. From X to Y every 2 hours
Job 5. From Y to Z every 2 hours
Job 6. From Z to X every 2 hours
Jobs 1 and 2 represent the standard distribution of X documents to Site Y. Because it is
possible to replicate replica documents, Job 3 completes the distribution by replicating X
documents to Z through Y.
For Jobs 4, 5, and 6, each site’s target and source folder for the new product
documentation is called /NewProd. This, plus the circular nature of Jobs 4‑6, means that
each site will have its own documents and annotations as well as all documents and
annotations from the /NewProd folders of the other sites in its own /NewProd folder.
Figure 8, page 116, illustrates these jobs.
116 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
This section illustrates how to estimate the disk space required for replication as
accurately as possible. The values used in this section for each required estimate are
only examples. For your calculations, you must determine the correct figures for the
required estimates.
Use a table to calculate disk space requirements. First, compute the requirements for the
source repository documents and metadata. This is a function of the:
• Number of source documents and virtual descendant (related) documents
• Estimated average document size
• Estimated rendition size
• Estimated annotation size
Most documents have multiple versions, so be sure to take versions into account also.
Table 7, page 117, shows these figures for the XYZ Enterprises example.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 117
Implementing Multirepository Models
of versions per document) and the total number of bytes per document (total content
+ 2,500 bytes per document for metadata overhead), or
Total = (no. of documents x no. of versions per document) x (total content + 2,500 bytes)
The metadata overhead varies, depending on the complexity of the document types and
should be verified for your mix of documents.
After you calculate source disk space, you can project the total requirement to each of
the sites. The total requirement is the sum of the source and replicated documents at
each site plus required temporary space for dump files.
Each replication site needs temporary space for dump files. (Disk space for temporary
files, page 121 describes the storage locations of the source and target dump files.)
Replication processing generates a dump file at the source site, then stores it as the
content of a document in the source repository before transferring it to the target
repository. After the dump file arrives at the target site, it is filtered into another dump
file specific to the target repository (owner and ACL information for each document are
modified, if necessary, to conform to replication job requirements, and some objects are
removed). This means that the temporary disk space available for dump files on both the
source and target sites must be twice the size of the largest dump files.
If disk space is limited on either the source or target site, consider using the option to
run the job as a series of smaller dump and load operations. This option is described in
Multi‑dump file replication jobs, page 61.
If you are not planning to run the job using multiple dump and load operations, calculate
temporary space using the assumption that at some point a full‑refresh replication will
occur. (A full refresh replicates all documents in a single replication request rather than
incrementally as they are modified.) Increase the temporary disk space if scheduling
requires you to run multiple replication jobs simultaneously. Table 8, page 118, shows
the calculations for XYZ Enterprises. The Temp column represents twice the disk space
requirement of the largest full‑refresh replication job at that site. In this example, Product
2 has the largest content size, so that figure is doubled for the Temp calculation.
118 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
Job scheduling
A replication job consists of three components:
• Source site processing to generate the dump file
• Dump file transfer
• Target site processing to load the dump file
The processing time required to complete all three steps is the processing window for
the job. To verify that your replication schedules are achievable, estimate the processing
window for each job.
In the XYZ Enterprises example, Jobs 1, 2, and 3 can be scheduled for off‑peak server
usage times (such as the weekend) because they are run weekly. It is unlikely that these
jobs will conflict with other uses of the servers. On the other hand, Jobs 4, 5, and 6 are
scheduled to run every 2 hours. These jobs will be running during peak load times for
the source and target servers. If the processing window exceeds 2 hours, the schedule
cannot be maintained.
To assess this possibility, develop an estimate of elapsed time for the three steps, based
on reference metrics and the size of the replication job. Use the CPU metric and the local
Setfile metric to estimate the time required for dump file generation at a source. Use the
remote Getfile metric to estimate the time required for dump file transfer. Use the CPU
metric to estimate the time required by the filter program and dump file load. The sum
of these estimates will provide an estimate for total processing time.
The table below shows the calculations for Job 4, using the peak reference metrics shown
in Table 6, page 114, and assuming a full refresh of the replicated objects. The metrics
measuring documents per second in Table 9, page 119, are obtained by dividing the size
of the server executable by the operation’s elapsed time as shown in Table 6, page 114,
because the server executable was the file used to generate the metrics in Table 6, page
114. Peak values are used because Job 4 will execute throughout the day.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 119
Implementing Multirepository Models
Overlapping jobs are two replication jobs that replicate the same object either into one
repository or into and out of the same repository. For example, suppose you have two
replication jobs with the same source and target repositories. If the execution times
overlap and the jobs happen to replicate some of the same objects, errors may occur. Or,
suppose one job A replicates into a target repository YY and another job B that replicates
from repository YY. In such cases, if the execution times overlap, it is possible that job B
may attempt to replicate objects that job A is loading. This is an error.
The recommended way to avoid such clashes is to group jobs that may overlap into a job
sequence. A job sequence is a set of jobs that are executed in a user‑defined order. If a
job in the sequence has a predecessor in the sequence, that job is not executed until its
predecessor completes successfully. For more information about job sequences, refer to
the Content Server Administration Guide.
Site setup
Defining business requirements, page 110, describes the cross‑repository requirements
for object definitions and security. Establishing and following enterprise‑wide standards
for groups, document types, and security is critical to the success of replication.
Some other aspects of an installation must also be reviewed and any required
reconfiguration performed before you start replication jobs. The following sections
describe these considerations.
If you want to use all the features associated with object replication, including automatic
refresh of replicas and the ability to manipulate source objects through the replicas,
then each participating site must project to the connection broker at each of the other
participating sites. However, if you want only to create read‑only replicas in the target
repository, then cross‑projection is not required.
This section describes how to set up cross projection. It may be helpful to have a listing
of the repositories already known to your local connection broker before setting up
cross projection.
120 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
After you modify the server config object, you must reinitialize the server for the
changes to take effect. Use Documentum Administrator to modify the server config
object. Refer to the Documentum Administrator online Help for instructions.
2. Modify the server config objects in existing repositories that are potential replication
sources to add a connection broker projection target for the new repository.
After you modify the server config object, you must reinitialize the server for the
changes to take effect. Use Documentum Administrator to modify the server config
object. Refer to the Documentum Administrator online Help for instructions.
Replication creates temporary files in both the source and target repositories. The
largest temporary files are the dump files. The temporary files are stored in the
%DOCUMENTUM%\share\temp\replicate ($DOCUMENTUM/share/temp/replicate)
directory in each installation. The replication operation creates a directory underneath
this directory for each repository participating in replication on that machine. Make sure
that this directory is located on a file system with enough space for the temporary files.
On UNIX, if the directory is not located on a file system with enough space for these
temporary replication‑related files, you can allocate a separate area and create a UNIX
link, called replicate, to the share/temp area. For example:
% cd /u107/dm/* file system with adequate space */
% mkdir dmtemp
% cd $DOCUMENTUM/share/temp
% ln s /u107/dm/dmtemp replicate
% cd replicate
<create directories for all repositories on site that will participate
in replication and set all permissions for the installation owner>
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 121
Implementing Multirepository Models
Content storage
Object replication jobs replicate objects linked to a particular folder or cabinet called the
source folder. The source folder is identified in the job definition. The replicated objects
are stored in the target repository in a particular folder or cabinet designated as the
target folder in the job definition. Both the source folder and the target folder must exist
before you define the replication job. When you create these folders (or cabinets), keep in
mind the following code page requirements:
• If the participating repositories have the same server_os_codepage value, the names
of the source and target folders must be compatible with that code page.
• If the participating repositories have different server_os_codepage values, the names
of the source and target folders must consist of only ASCII characters.
The replication process does not replicate the source folder or cabinet in the target
repository’s destination folder or cabinet. However, the process does replicate the folder
hierarchy found within the source folder or cabinet.
If the source folder or cabinet contains a reference link, the replication process replicates
the reference link but does not replicate any objects contained within the object pointed
to by the reference link.
If two repositories are exchanging documents using folders with the same names and
subfolder structures, name the subfolders identically in both repositories. For example,
suppose that repository1 and repository2 both have /Product folders that are used for
replication. In repository1, /Product has a subfolder named market_outlook, while
in repository2, /Product has a sub folder named marketoutlook. The names of the
subfolders only differ by one character, the underscore. However, because the names
do not match exactly, after bidirectional replication both repositories will have the
following folder paths:
repository1
/Product/market_outlook, which contains source documents
/Product/marketoutlook, which contains replicated documents
122 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
repository2
/Product/market_outlook, which contains replicated documents
/Product/marketoutlook, which contains source documents
This was not the desired result. If subfolders are named consistently, all documents,
whether replicas or not, will appear in one folder in both the source and target
repositories.
Additionally, make sure that all users participating in the replication have permission
to link documents into the source folder.
Defining jobs
New jobs are defined using Documentum Administrator. You must be a superuser to
define a replication job.
Before you create a job, the target folder or cabinet for that job must exist. The server only
allows you to specify an existing folder or cabinet as the target when you are defining a
job. If the folder or cabinet does not exist when you define the job, you must save the
unfinished job definition, go back and create the folder or cabinet, and then finish the job
definition. Refer to the previous section, Cabinets and folders, page 122, for guidelines
for creating the source and target folders.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 123
Implementing Multirepository Models
• You can set a flag in the job definition that directs the server to restart the replication
job if the job fails. However, we recommend that you make sure that your job is
correctly defined and running smoothly before you set that flag. The restart feature
is intended to recover jobs that fail because some factor in their environment, such as
the source or target repository, is unavailable.
Observe the following guidelines when defining a job that uses multiple dump and
load operations to perform the replication:
• Set the ‑objects_per_transfer argument in the method arguments to number of objects
you want to transfer in each operation.
It is recommended that you do not specify fewer than 1000 objects in the argument.
• You must define the job as a fast replication job.
• The repository in which the job is defined must be at least at the 5.3 version level.
• You cannot define the job as a manual transfer job.
Setting up tracing
Setting the trace level to any value except 0 turns on tracing for the replication job.
Setting the argument to 0 turns off tracing for the job.
All tracing information appears in one file whether you are using one dump and load
operation or multiple dump and load operations for the job.
On UNIX:
$DOCUMENTUM/share/temp/replicate/target_db_name
When you put the dump file in this location, be sure to give the file the same name as the
original dump file. Within 60 minutes, the replication job agent will detect the presence
of the file and automatically load the file.
124 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Implementing Multirepository Models
Note: You cannot use a manual file transfer if the replication job is using multiple dump
and load operations. (For more information about the use of multiple dump and load
operations, refer to Multi‑dump file replication jobs, page 61.)
1. If a folder is a target folder in one replication job and a source folder in another
replication job, do not schedule the two jobs to run concurrently or overlapping.
2. Do not change job settings for the source and target after a job has been run.
3. If the same documents are replicated to more than one target folder in the same
repository, the parameters of each job (security and fulltext settings, federation mode,
and so forth) must match and the jobs must not run concurrently or overlapping.
(Version mismatch errors may occur if the jobs are run concurrently).
4. To delete a replica from a target repository, first move the source object out of the
source folder. If there are multiple jobs replicating the object to that target repository,
remove the object from each source folder that replicates to that target repository.
Then, use a Prune method and delete the replica’s entire version tree in the target
repository.
5. Do not create local folders in or link local folders to a target folder.
6. Do not move a replicated folder in a target repository to another location.
It is acceptable to link a replicated folder to another, local folder or cabinet. However,
do not remove the primary link to the target folder.
7. To delete a folder that contains replicas, first remove the replicas from the folder.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 125
Implementing Multirepository Models
126 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Chapter 5
Managing SingleRepository Models
This chapter contains procedures for administering the building blocks of a single‑repository
distributed configuration. This chapter includes the following topics:
• Adding a distributed component , page 127
• Removing a distributed component, page 129
• Removing files from component storage areas, page 129
• Troubleshooting surrogate get, page 130
• Overriding content‑file server use, page 132
• Login failures in content‑file server setups, page 136
• Tuning query performance, page 137
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 127
Managing SingleRepository Models
Installing Content Server and the ACS server creates the required server config
object for the new server, the acs config object in the repository for the ACS
server, updates the acs.properties file for the new ACS server, and creates a file
store storage area at the remote site.
b. Start the remote site’s server.
c. Add the file store storage area at the remote site to the distributed store storage
area as a component.
d. Add the new component to the Far Stores list in the server config object for each
of the other component sites in the distributed storage area.
e. Optionally, reset the proximity values for the content‑file server.
The installation process automatically sets a remote server’s proximity to its
local connection broker as 9001 and the its proximity to the primary Content
Server as 9010. You may want to reset the value to reflect your network’s
topography. Setting proximity values for Content Server projection to a
connection broker, page 98, contains instructions and guidelines for choosing
and setting appropriate proximity values.
4. Ensure that users and groups accessing distributed documents from the new site can
be authenticated by servers at all sites, using the same mechanism.
In a configuration using a distributed storage area, when a user connects to a
repository, the client sends two connection requests: one to the data server and one
to the content‑file server. Each server must be able to authenticate the user’s name
and password using the same authentication mechanism.
5. Ensure that the machine hosting the Content Server is using UTC time and is
synchronized with the other machines hosting distributed components.
The servers at the remote sites (content‑file server and ACS ) use global login tickets
configured to be valid for 5 minutes to connect to the primary site to fetch content.
If the clocks in the host machines are not synchronized, the connection may fail if
the host machine finds the login ticket invalid if the time difference is greater than 5
minutes.
6. To set up repository access for web‑based clients at the remote site:
a. Define at least one network location for the ACS server at the site.
Creating Network Locations, page 83, contains instructions.
b. Add the network location to the acs config object.
Add the location to the acs config object for each ACS server that can service
requests from that network location. For instructions, refer to Adding network
locations to an acs config object, page 84.
c. Define the network location’s proximity to the ACS server or servers.
128 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing SingleRepository Models
Refer to Setting proximity values for network locations, page 85, for guidelines
and instructions.
d. Define the ACS server’s projection to a connection broker.
Projecting an ACS server to connection brokers, page 85, provides instructions
and guidelines for setting proximity values.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 129
Managing SingleRepository Models
You must specify the object ID of the file’s associated content object. storage_area_name
is the name of the storage object for the component storage area from which you are
removing the file.
The sugg.trc file is not generated by default. You must manually turn on tracing for
surrogate get.
130 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing SingleRepository Models
To trace method invocations for surrogate get, set the Trace Launch property on the
property page for the job in Documentum Administrator.
After you turn on Trace Launch for the method, the system logs dm_SurrogateGet
method’s command line in the server log file whenever the method is invoked.
Resolving problems
If the on‑demand content replication of the SurrogateGet method is not working
properly, check the following configuration items:
• The only_fetch_close property
• The get_method properties
• Connection broker projection targets
• Time settings on the participating host machines
The only_fetch_close property is defined for the distributed store object. It controls
whether a server invokes the surrogate get method to fetch content files from component
storage areas defined as far for the server.
Make sure that this property is set to TRUE. When the property is FALSE, the surrogate
get method is not invoked.
If Trace Launch is turned on for surrogate get, you can look in the server log file to
determine if the surrogate get method is invoked when the server needs to fetch a
content file stored in a far storage area. The method’s command line is recorded in the
server log file when the method is invoked.
The server invokes the method defined in the get_method property for the distributed
store object and the component storage areas. All must contain dm_SurrogateGet if you
are using the SurrogateGet tool or the name of your user‑defined surrogate get method.
Check the property’s value and modify it if necessary in the distributed store object and
in the component storage areas.
You can use Documentum Administrator to check the property’s value.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 131
Managing SingleRepository Models
Make sure that the server at the site where the content file is stored is projecting
correct connection information to the connection broker used by the server invoking
the SurrogateGet method.
The connection broker used by the server invoking SurrogateGet must know about the
server at the site where the content file is stored. In practice, this means that the server
at each site in a single‑repository distributed configuration must project its connection
information to the connection broker at each of the other sites in the configuration.
Time settings
If the job is failing, check that the host machine on which the job runs and the host
machine of the Content Server to which the job is connecting are both using UTC time
and that the clocks are synchronized.
Surrogate get uses a login ticket to connect to servers to obtain content files. The login
tickets are valid for five minutes. If the machine on which the dm_SurrogateGet method
is running and the host machine of the server to which it connecting are not synchronized
in time, the ticket may be invalid (timed out) on the target due to perceived differences in
time. In such cases, the job will fail.
132 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing SingleRepository Models
With one exception, TRUE causes the client to connect to two different servers for data
and content requests. The exception occurs when the connection request specifies the
local server. Refer to Using both use_content_server key and the connection request,
page 133 for details.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 133
Managing SingleRepository Models
134 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing SingleRepository Models
use_content_server=FALSE
connect, mouse mouse The connection
repositoryname, request does
username,password not identify a
server. Because
use_content_server
is FALSE, the client
does not have to
connect to different
servers for data and
content requests.
Consequently, the
client connects to
the local server
for both data and
content requests.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 135
Managing SingleRepository Models
136 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing SingleRepository Models
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 137
Managing SingleRepository Models
138 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Chapter 6
Managing multirepository Models
This chapter describes how to perform common administrative tasks for multirepository distributed
configurations. It includes the following topics:
• Manipulating a federation, page 139
• User operations, page 141
• Group operations, page 145
• Modifying object replication jobs, page 148
• Obtaining a list of jobs , page 148
• Scheduling federation jobs, page 148
• Identifying the federation jobs operator, page 149
• Tracing ACL replication in federation jobs, page 149
• Job reports and log files, page 149
• The dm_DistOperations job, page 151
• Monitoring and debugging federation jobs, page 152
• Recovering from replication job failures, page 153
• Clearing the replicate_temp_store storage area, page 154
• Handling replicas, page 154
Manipulating a federation
This section contains procedures for managing a federation. The procedures include:
• Adding a member , page 140
• Removing a member, page 140
• Destroying a federation, page 140
• Inactivating a governing repository, page 141
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 139
Managing multirepository Models
Adding a member
A repository can belong to only one federation. Consequently, the member you are
adding cannot currently belong to any federation.
Use the federation management facilities of Documentum Administrator to add
a member repository to a federation. For instructions, refer to the Documentum
Administrator online help.
Removing a member
You cannot remove a member repository while any federation jobs are running.
Removing a member from a federation updates the federation object. When a federation
job is running, the federation object is locked and cannot be updated.
Removing a member repository also sets the dm_FederationImport job in that repository
to inactive and hidden. (The a_is_hidden property is set to TRUE for the job).
It is not necessary to make the global objects in the repository local objects. However, if
you intend to add the repository to a different federation, we recommend that you make
the global objects in the repository local objects first.
Use the federation management facilities of Documentum Administrator to remove
a member repository from a federation. For instructions, refer to the Documentum
Administrator online help.
Destroying a federation
You cannot destroy a federation while any federation jobs are running. Destroying a
federation updates the federation object. When a federation job is running, the federation
object is locked and cannot be updated.
After you destroy a federation, the former member repositories still have global users
and groups. This does not affect the functioning of these repositories. However, we
recommend that you make the global users and groups in these repositories local users
and groups before adding the repositories to a new federation.
Use the federation management facilities of Documentum Administrator to destroy a
federation. For instructions, refer to the Documentum Administrator online help.
140 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
User operations
This section contains information for managing the global users within a federation.
Use the information in this section only if the global users are common only to the
repositories participating in the federation.
A federation’s global users are users who are present in all repositories in the federation.
Global users are managed through the governing repository. You create a new global
user in the governing repository, and the federation jobs automatically propagate the
user to all member repositories. Similarly, if you delete a global user from the governing
repository, a federation job automatically deletes the user from the member repositories.
Most of a user’s properties are global properties. Global property values are the same
in each repository in the federation. Global properties must be modified through the
governing repository, using Documentum Administrator.
A few properties are local properties. Typically, local properties have different
values in each member repository. However, there are four local properties that can
behave like global properties. These four properties are user_state, client_capability,
worklfow_disabled, and user_privileges. When you create a global user, you can
choose to propagate the values of these properties to all member repositories when the
properties are changed in the governing repository.
Note: Sysadmin and Superuser user privileges are never propagated even if you choose
to have the user_privileges properties managed as a global property. Extended user
privileges are not propagated either.
Information for the following procedures are included in this section:
• Creating a user , page 142
• Modifying user information, page 143
• Renaming a user, page 144
• Making a local user global , page 144
• Making a global user local , page 145
• Deleting a global user, page 145
Perform the procedures using Documentum Administrator if your site is not using an
LDAP directory server. The procedures are performed on the governing repository,
through the federation management facilities of Documentum Administrator.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 141
Managing multirepository Models
If your site is using an LDAP directory server to implement global users across all
repositories, federated or not, use the procedures in the LDAP directory server
documentation to add or change global user entries in the directory server. Do not
use Documentum Administrator.
Creating a user
Use the federation management facilities of Documentum Administrator to add a
global user to a governing repository. For instructions, refer to the Documentum
Administrator online help. The Content Server Administration Guide has information
about user properties.
Use the following guidelines when creating a user:
• The name of the user must be unique among the user and group names in the
governing repository.
• A global user’s user_name, user_os_name, user_address, and user_db_name must be
compatible with the server operating system code pages (server_os_codepage) of
all participating repositories. If the repositories are using different code pages, this
means that those properties must contain only ASCII characters.
• If a member repository has a local user with the same name as the global user, the
global user will overwrite the local user.
• Assigning a global external ACL to the user as the user’s default ACL is
recommended.
Note: If the ACL assigned to the user doesn’t exist on the member repository, the
server uses a system ACL named Global User Default ACL to create a custom ACL
for the user. The permissions in Global User Default ACL are dm_world=3 (Read),
dm_group=5 (Version), and dm_owner=7 (Delete). Content Server determines which
group the user belongs to, creates a custom ACL from the Global User Default ACL
that references that group, and assigns that ACL to the user.
• If you check a Send to members? checkbox, the value of the associated local property
is propagated to member repositories, with one exception. The exception occurs
for user privileges and extended user privileges. If the assigned user privilege is
Sysadmin or Superuser or any of the extended user privileges, even if the Send to
members? checkbox is checked the privilege value is not propagated.
• The client capability setting is used by Documentum client applications such as
DesktopClient™ to determine what functionality to make available to the user.
Content Server does not use the client capability setting. For more information
about the functionality provided with each capability level, refer to the client
documentation.
After you create a global user on the governing repository, the federation jobs
automatically propagate the new user to the member repositories. The global property
142 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
values assigned in the governing repository are copied to each member repository. The
local properties are assigned default values. Table 11, page 143, describes the default
values assigned to the local properties in the member repositories.
Table 11. Default local property values for new users in federations
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 143
Managing multirepository Models
Renaming a user
Renaming a user affects more than just the user’s dm_user object. The server stores
a user’s name in a variety of properties for different object types. For example,
r_creator_name and owner_name values are user names. User names also appear as
values for the acl_domain and authors properties.
When you run the job that renames a user, it attempts to change all references to that
user in the repository. If some of the references are in the properties of locked (checked
out) objects, by default the job unlocks the objects (cancels the checkout) to make the
change. If you don’t want the job to unlock these objects, be sure to set the Checked Out
Objects preference to Ignore before running the job.
You can choose whether to run renaming job immediately or the next time jobs are
executed. In a large repository, the rename job can take a very long time to complete. It
touches many tables and can use a large amount of resources. Running the job during
peak usage hours is not recommended.
Rename a user through the governing repository. Use the federation management
facility of Documentum Administrator. For instructions, refer to the Documentum
Administrator online help.
If the user is local to the governing repository, you can simply change the user to global
in the governing repository. The user is then propagated to all members in the next
update operation.
144 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
If the user is local to a member repository, you must create the user as a new global user
in the governing repository for the federation. The new user is automatically propagated
to all the member repositories in the next update operation. As part of the process, the
user is updated to global in the original member repository also.
Using DQL
To use DQL to change a local user to a global user, use the UPDATE...OBJECT statement
to set the value of the globally_managed property to TRUE for the user:
UPDATE "dm_user" OBJECT
SET "globally_managed"=TRUE
WHERE "user_name"='local_user_name'
Group operations
This section contains the information about procedures for managing global groups
within a federation. This section includes information for the following procedures:
• Creating a group, page 146
• Modifying a group, page 147
• Renaming a group, page 147
• Deleting a group, page 147
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 145
Managing multirepository Models
Creating a group
All the properties of a group are global. The values you define for a global group when
you create it are propagated to all member repositories. The members of a global group
must be global users or other global groups. To create a group, you must have Create
Group, Sysadmin, or Superuser privileges.
A global group’s group_address must be compatible with the server operating system
code pages (server_os_codepage) of all participating repositories. If the repositories are
using different code pages, this means that group_address must consist of only ASCII
characters.
The name of the group must be unique among the user and group names in the
governing repository.
Note: Content Server stores all group names in lowercase.
If a member repository has a local group with the same name as the global group, the
global group will overwrite the local group.
You can use the federation management facilities in Documentum Administrator
to create a global group. (Refer to the Documentum Administrator online help for
instructions.)
Alternatively, you can execute DQL CREATE GROUP and UPDATE...OBJECT statements
using IDQL or Documentum Administrator. After you create the group, update it to set
the globally_managed property to TRUE. The syntax is:
CREATE GROUP name_of_group
WITH MEMBERS list_of_members
UPDATE "dm_group" OBJECT
SET "globally_managed"=TRUE
WHERE "group_name"='name_of_group'
146 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
Modifying a group
To modify a group, you must be one of the following:
• The group’s owner
• A superuser
• A member of the group that owns the group to be modified (if the group is owned by
a group)
• Identified in the group’s group_admin property, either as an individual or a member
of the group specified in the property
Only a superuser can change the ownership of an existing group. Only a superuser,
the owner of a group, or a member of the group that owns the group can change the
group_admin property of a group.
Use the federation management facilities in Documentum Administrator to modify a
global group.
Renaming a group
To rename a global group, you must use Documentum Administrator. Refer to the
Documentum Administrator online help for instructions.
Deleting a group
To delete a global group, you must use Documentum Administrator. You must be a
superuser, the group’s owner, or a member of the group that owns the group to delete a
group. Refer to the Documentum Administrator online help for instructions.
Deleting a group also deletes all registry objects that reference the group as the subject
of an audit or event notification request.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 147
Managing multirepository Models
148 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
They are activated and made visible automatically if you check the Propagate Global
Objects to Member Repositories checkbox when you create the federation. Otherwise,
you must do it manually.
All other federation jobs in the governing repository and member repositories remain
inactive and invisible. Their execution is controlled by the dm_FederationUpdate job
running in the governing repository. By default, the dm_FederationUpdate job runs
once a day, during the night. When it executes, it runs the methods associated with the
jobs in the correct sequence for each member repository.
You can change the scheduling for the dm_FederationUpdate job on the governing
repository. However, we strongly recommend that you do not activate any of the other
federation jobs. Doing so will cause them to run out of sequence.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 149
Managing multirepository Models
Job reports
A job report summarizes the results of a job in an easily interpreted format. To view
reports for federation jobs, you connect to the federation. To view job reports for
object replication jobs, you must connect to the repository that executed the job. Use
Documentum Administrator to view job reports.
In the repository, job reports are stored in /System/Sysadmin/Reports. Each time a job
executes, the job report in this location is versioned.
The reports are also stored in the file system in %DOCUMENTUM%\dba\log\repository_
id\sysadmin ($DOCUMENTUM/dba/log/repository_id/sysadmin). In this directory, the
report name has the format job_nameDoc.txt. The reports in this directory are overwritten
each time the job executes.
Federation job reports are also stored in
%DOCUMENTUM%\share\temp\ldif\repository_name
($DOCUMENTUM/share/temp/ldif/repository_name) for access through Documentum
Administrator.
150 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
In the repository, job log files are stored in /Temp/Jobs/job_object_name. The log files in
this directory are versioned when the jobs execute.
The log files are also stored in the file system in %DOCUMENTUM%\dba\log\repository_
id\sysadmin ($DOCUMENTUM/dba/log/repository_id/sysadmin). The name of the log
file has the format job_nameTrace.txt. The log file in this directory is overwritten each
time the job executes.
Federation job log files are also stored in
%DOCUMENTUM%\share\temp\ldif\repository_name
($DOCUMENTUM/share/temp/ldif/repository_name) for access through Documentum
Administrator.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 151
Managing multirepository Models
‑server_config_name user_
name,password[,domain]
server_config_name is
the object name of the
server config object for the
repository. The superuser
and password must be
valid for the repository.
They can be the same
or different for each
repository.
152 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
A warning indicates that the job encountered a nonfatal error. The job continued to
execute but some errors may have occurred during its execution. Warnings typically
occur in the following situations:
• The status or copy methods cannot establish a session with a member repository to
retrieve the status or copy global objects.
• The status or copy methods cannot validate the dm_federation object in a member
repository.
• The import method on a member repository experienced difficulties such as:
— The default folder could not be created
— The user’s default ACL was not found, necessitating the use of the default
system ACL
Failures indicate a fatal error that stopped the job’s execution. Fatal errors may leave the
dm_federation object locked in the repository. In such cases, be sure to manually check
in the federation object.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 153
Managing multirepository Models
Correcting the cause of the failure should restore successful replication. However, as
part of the process of correcting the problem and rerunning the job to check it, you may
have to reset the job schedule. The Content Server Administration Guide has information
about scheduling jobs.
Handling replicas
This section contains procedures and information about management of replicas in a
repository.
154 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Managing multirepository Models
If the version defined in ref_binding_label doesn’t exist, the server returns an error.
To return to the default behavior, set the ref_binding_label property to a blank string.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 155
Managing multirepository Models
156 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Appendix A
Federation Infrastructure
This appendix contains a table that describes the jobs, methods, files, and objects that support
federations.
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 157
Federation Infrastructure
158 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Index
A described, 31
a_storage_type property asynchronous write, configuring, 46
treatment in object replication, 63, 65
ACLs B
federation replication mode, use
batch processing for object replication, 61
in, 64
best practices, object replication, 125
non‑federated replication mode, use
binding
in, 63
reference links, 58, 154
synchronization in federations, 71
BOCS server
tracing ACL replication, 149
content precaching, 46
acs config objects
BOCS servers
adding network locations, 84
acs.properties file, 44
is_cache_acs property, 89
acs.properties file location, 89
ACS servers
asynchronous write, 31
acs.properties file, 88
asynchronous write operations, 47
configuration requirements, 25
asynchronous write, configuring, 46
described, 25
bocs config objects, 44
disabling access, 90
configuration requirements, 28
firewalls and, 25
described, 26
implementation described, 43
implementation, internal, 44
is_cache_acs property, 89
is_cache_acs property, 89
near_stores property, 88
modes, push and pull, 45
projection to connection brokers,
precaching content, 29
defining, 85
repositories serviced, configuring, 45
proximity values
default for primary site, 87
defining for network locations, 85 C
described, 54 cabinets
storage areas, defining accessible, 87 reference link behavior, 58
acs.properties file client_capability property, 142
adding Content Server entries, 89 code page requirements for object
location, 88 replication
mode.cachestoreonly key, 89 database requirements, 40, 123
agent exec process, 69 source and target folders, 122
annotations communications flow
object replication and, 66 pre‑caching requests, 51
aspects read requests, 48
object replication and, 67 write requests, 49
assemblies and object replication, 66 components, distributed
asynchronous write adding, 127
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 159
Index
160 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Index
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 161
Index
162 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Index
mediator repository, 61 O
member repositories object replication
adding, 140 ACLs, handling of, 63
described, 41 annotations, 66
removing, 140 architecture, 61, 69
Messaging Server, see DMS servers assemblies, 66
messaging, distributed, see distributed batch processing of dump files, 61
notification best practices, 125
methods business needs, analyzing, 110, 113
dm_SurrogateGet, 97, 131 configuration requirements, 111
federation methods, list of, 157 connection broker setup, 120
replicate_folder, 69 data dictionary information and, 68
metric.ebs script, 114 described, 39
mirror objects, 37, 56 display configuration information
refreshing, 59 and, 68
security, 60 effect of missing type definition, 112
mode.cachestoreonly (acs.properties file events, 66
key), 89 example, 115, 119
models, distributed, 13 fast replication option, 67
multi‑repository configurations, 103 format objects, handling, 67
See also federations full refreshes and replica IDs, 69
dm_operator.cnt file, 105 _isreplica (computed property), 155
object replication, 39 jobs
reference links, 37, 56 creating, 123
repository_name.cnt file, 106 described, 61
requirements failure recovery, 153
connection brokers, 104 multi‑dump file jobs, 61, 124
users, 105 restarting, 124
secure connections and, 71 scheduling, 119
multirepository configurations macintosh access protocol, 121
connection broker setup/ manual dump file transfers, 124
validation, 120 _masterdocbase (computed
dm_DistOperations job, 151 property), 155
repository configuration, 103 mediator repository, 61
requirements objects with aspects, 67
configuration, 41 on and offline replication, 114
policy objects and, 66
N process overview, 69
near_stores property, 88 reference links, 66
network locations reference metrics
ACS server access, disabling, 90 purpose, 113
adding to acs config, 84 script for obtaining, 114
configuration requirements, 24 use in planning, 114
creating, 83 Related Objects folder, 69
described, 24 renditions, 66
implementation, internal, 43 replica objects, 39, 59
proximity values, 54, 85 replicate_folder method, 69
non‑federated replication mode, 63 replicate_temp_store, 70, 154
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 163
Index
164 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide
Index
EMC Documentum Content Server Version 6.5 Distributed Configuration Guide 165
Index
166 EMC Documentum Content Server Version 6.5 Distributed Configuration Guide