Why do you use EPFM?
EPFM is a configurable document management solution aimed at companies in the
engineering and construction industry.
It provides document and drawing management, transmittals management and
review and approval processes to support work practices throughout the
lifecycle of an asset. It can also track the progress made on the document in
the project.
Configuration
options and simple role-based security management allow companies to meet
working practices, standards and regulatory requirements without customization
1. Create a interface that extends IDfService define your business
method
2. Create the implementation class implement write your business
logic, This class should extend DfService and implement the interface defined
in Step 1
3. Create a jar file for the created Interface and another jar for
the implementation class then create Jar Definitions
4. Create a SBO Module and Deploy your Documentum Archive using
Documentum Composer (Application builder for older versions)
73) Tools for Building Documentum Workflow Manager
Workflow Manager
Process Builder
74) Difference between a workflow and a distribution list
You can
pass documents using a distribution list. A distribution list can send a
document to a selected list of users either one after another (serial) or all
at once (broadcast).
However, a workflow can contain both serial and broadcast
flows. A workflow can pass documents conditionally which is not possible in a
distribution list.
75) Basic process of building a workflow
1. Log on the Workflow Manager.
2. Drag and drop the activity from template to the drawing panel
3. Connect the activities using the flow tool
4. Set the parameters in Activity Inspector and Flow Inspector
5. Save, validate and install the workflow template
76) Audit trail is a
built-in functionality of the Documentum Content Server. Administrators (users
with Configure Audit privilege) can turn on/turn off this functionality. This
functionality can record events Which are occurring while users are managing
content
77) Object Types in Documentum
r_object_id - A Unique ID of an object.
i_vstamp - This property is basically used
for versioning,
i_is_replica - This property of object that
indicates whether that object is replica of an object in a remote repository
dm_sysobject - Most of the commonly used object
types are extended from this object type.
dm_acl -This object type plays a very vital
role in implementing security to the Documentum Server
dm_user -This stores all the information
about user in a Documentum repository
dm_group -This object stores information about
a specific group, which includes r_object_id of all the member users, groups.
dm_document- represents a real document in
Repository
dm_folder - Folders are basically used to
organize contents.
dm_cabinet -Cabinet is a special type of folders
and its used to organize sys object in a Repository.
78) Sample Hierarchy of Object Types
79) Tools to create Custom Object types
Developer Studio
App Builder
Custom DQL scripts
80) A DocApp is nothing
but a packaging unit for Documentum
objects. A DocApp works as a deployable packaging unit to move objects
across Docbases.
81) Using Documentum
Application Builder you can create and package all your objects within a
DocApp
82) Where to set Set dfc.Properties - web-inf\classes
83) Docbase = repository
= where documents are stored along with metadata. Docbroker = something that a client uses to locate the
repositories.
84) Using Documentum Administrator you
can:
Monitor Docbase
system and resource usage
Configure a Docbase
Create Docbase
users and groups
Change the
attributes of existing Docbase users and groups
Create or modify
Docbase object types
Create or maintain
Access Control Lists (ACL’s).
85) Jobs typically run at predetermined intervals. The
jobs that exist in all repositories have default Schedules when they are
created. Most jobs pass standard arguments to the method executed by the
job.The arguments are set on the Method tab for each job, and can be modified
in most cases.
86) Documentum Compliance
Manager- Automates processes for collecting, sharing, approving and Using
content in order to meet stringent quality goals and compliance requirements
87) New in Documentum 6.5
Presets
ECIS
Support Word 2007
Room Invites
Calendars
Discussions
88) Task Space is new Documentum 6
product for Transactional Content Management. Task Space is Specifically
designed for users who have to perform a large number of tasks, and who have to
find Documents and folders in very large repositories.
89) Documentum 6 includes the following enhancements in WebTop
Improved item
selection lets you select items by clicking them, not by selecting checkboxes.
Right-click menus
provide streamlined access to performing actions
Multi-object
property editing lets you edit or assign properties, permissions and lifecycles
to Multiple objects at once.
Lifecycle state
displayed in list view
Resizable columns
90) Search functionality now includes the
following in Documentum 6:
Savings the results
for others to use
Real-time query
monitoring (with ECI WebTop Extended Search option
Ability to perform
a combined database search on properties and full-text search on strings
Conditional value
assistance
User interface
enhancements
91) What’s the Super type of dm_cabinet? - dm_folder
92) Content management is the organizing,
categorizing, and structuring of information resources (text,Images, documents,
etc.) So that they can be stored, published, and edited with ease and
flexibility.
93) Documentum Layered Technical Architecture (bottom-up)
Repository
Infrastructure (database, index…)
Repository Services
Security
Compliance
Content Services
Process Services
Client
Infrastructure Layer
94) Tools, Programming Interfaces, and Configuration Interfaces
across all but the Infrastructure Layer
95) D6.5 adds XML Store
on the Infrastructure Layer (formerly X-Hive)
Allows for rapid XQuery against the XML in the system
96) SOA is a focus on
where they are trying to move Documentum from client-server, New Paradigm
1. Easy to do from scratch, hard to transition
2. Started with 5.x with Business Office Framework
3. DFS in D6
97) Services (first 6 are in D6):
Schema: Data
Dictionary
Object: Create,
Update, Delete, Copy Move, Validate…etc.
Version: checkin,
checkout, cancelCheckout, etc.
Query: DQL
(supports paging)
Search: support
mulltiple repositories, can tie into ECIS
Workflow:
startProcess, getProcessInfo, etc.
Access Control
Lifecycle
Virtual Documents
Query Store: Saved
searches
Task Management
Analytics
Content Delivery
Profile (CTS)
Transformation
Policy: apply,
remove, getAppliedPolicies, etc. (Retention Policy Services)
Electronic
Signature: add, verify
ERP Integration:
execute Action, executeAgent, etc.
Formal Record
98) Post D6.5
More services
Services governing
strict process (ensure services ineroperability)
Support WS
Standards
REST support:
Define resource model and URI (complimentary to the current SOAP-based
services)
Next generation of
clients will use SOA
99) Three types of services in the Intelligent Information
Infrastructure: Content, Archive, and XML
100) May preclude DFC from the application layer in the future.
101) As last year, Aspects are presented as the way to slim the
system object, and thus everything we throw into Documentum
102) Operation Customization D6.5 (already in there, just not
documented)
Able to modify the
behavior of action on the server-side without modifying the application
Import, Export,
Checkout, Check-in, Cancel Checkout, Delete, Copy, Move, Validate, Transform
Defines steps for
each operation
Allows operation
cutomization based on Type, Format, or Repository
Includes modifying
existing operations and creating new operations
Register Operation
populators
Can add new steps
and replace existing actions
Using BOF 2
103) BOF 3 in post D6.5
BOF versioning,
allows different versions of BOF objects to co-exist
Will add notion of
bundling of business objects, tracking those dependencies
Tighter integration
with Composer (I hope so because it is miserable now)
Simplified
customization model
104) Lightweight sysobject
Current sysobject
3K+ per instance (I always thought it was 2K)
Light ones allow
multiple instances to share the same set of policies and metadata
One instance of
Parent object and one smaller child object for each individual object
Changing the Parent
impacts all children
Make use of
Documentum as a Archive repository much more realistic
Will complement
existing object model
Object look and
behave like normal sysobject
Objects can be
change to heavyweight sysobject from lightweight sysobject if needed so shared
values on Parent can be changed without impacting the other children.
30x footprint
reduction seen in database, depends on number of parents to children
105) Batching
Allows the grouping
of multiple operations into one set of SQL statements to the database
IDfBatchManager
interface allows you to open and then close a batch. normal DFC in the middle
Helps with mass
import, reduces round-trips to database
106) Scoping
Server performs
checks during every operation (does this folder exist)
Allows for
suspension of checks when performing a batch operaion
Default Scopes:
Operation, Transaction, Batch
When combined with
Batching, getting 3x+ performance improvement
107) Partitioning - Allows items to be placed
in logical partition to manage items and to store.
108) JBoss as application server in D6.5, option or replacement?
Need to ask Product Manager
109) Indexing Architecture in D7
Lucene (Had been
D6.5, very sad)
support for XQuery
110) Basic privilege for User
a) None-0
b) Crete type - 1
c) Create Cabinet-2
d) Create Group – 4
e) sysadmin – 8
f) superuser- 16
111) Extended Privilege for user
a) None – 0
b) Config Audit – 8
c) Purge Audit- 16
d) View Audit-32
112) Object Type
LifeCycle -
dm_policy
Workflow -
dm_process
DocApps -
dm_application
113) Difference Between Workflow and Lifecycle
Workflow
is what people do and a Lifecycle is what happens to a Document
114) Enterprise Content Services (ECS)
ECS
which includes all services that operate within the DFS Framework , share a
common Set of Technologies built around JAX-WS , including a service context,
use of the context registry and agent DFS runtime services and common runtime
classes
115) Benefits of UCF
Can be deployed
through an applet in n-tier configurations, which enables direct content
transfer between the machine
where the browser is located and a Content Server.
Support for ACS and
BOCS
Provides support
for transferring documents consisting of multiple files, such as XML documents
with file references, and for creating and updating virtual documents.
Provides facilities
for opening downloaded content in an editor or viewer.
116) Documentum allows creation
of new object types, which are called custom
types. A custom type can be
created using Documentum Application Builder (DAB), using Documentum
Administrator (DA), or using DQL/API scripts. DAB is the most commonly used
application for creating custom types since it fully supports the data
dictionary and it has a Graphical User Interface (GUI) specifically designed
for creating and managing custom types.
Creating a custom type is
a privileged operation and only the users with following privileges can do so:
Create Type
Sysadmin
Superuser
117) The data dictionary
consists of a set of types whose objects store information about types, such as
constraints for properties, default lifecycle, default property values, value
assistance, mapping info, and localized text. Since the data dictionary is stored
in the repository, it is available to all client applications.
118) Changing the Repository Owner Password in Documentum
a) Stop the Repository
b) Go to $DM_HOME/dba/config//
c) Create a copy of the file with name dbpasswd.txt
d) In the DB change the password of Repository Owner
e) Edit the dbpasswd.txt( The file backed up in Step 3) and replace
the new password as plain text
f) Save dbpasswd.txt
g) Go to $DM_HOME/bin run the following
h) dm_encrypt_password -docbase -rdbms -encrypt
i) Restart the Repository
119) Documentum Object Hierarchy Diagram
120) i_vstamp - This property is
basically used for versioning, each time you save changes to the object the value
of this property increases by 1 and this also helps to check the concurrent
modification of object.
121) i_is_replica - This property of object
that indicates whether that object is replica of an object in a remote
repository
122) Documentum Object support
2 types of Attributes
1. Single
Value Attributes - Single Value properties are properties that can hold a single
value at a time For Eg: object_name One object will have only a single name
2. Repeated
Attributes -
Repeated Attributes are properties that can hold multiple values. For Eg:
Keywords A object can have multiple keywords attached to it
123) Cabinets - A Cabinet object is the highest level of Organization visible to the
users in a Repository. Means Cabinets can exist only in the top level in the
Repository. Cabinet object extends from Folder. But Any object that extends
from dm_sysobject (ie means any object that can be saved in a repository) are
stored in Cabinets. A Cabinet cannot be placed inside another cabinet or a
folder and you need super user privileges to create or remove a Cabinet.
124) Folders - The Folders are means of
organizing objects that can be saved (Any object that extends from dm_sysobject
other than dm_cabinet) and it is used with combination of a Cabinet. In other
words a Folder cannot exist without a Cabinet. All objects that are saved in a
repository must be saved either in a folder, which is inside a cabinet, or it
can be saved directly in a cabinet. Folder extends from dm_sysobject and the
internal name of folder is dm_folder and r_object_id of a dm_folder starts with
“0b”.
125) Documentum Composer, a new application for
packaging and deploying Documentum artifacts. It is meant to replace Documentum
Application Builder and Documentum Application Installer with a single
application for developing, building, and deploying Documentum projects into a
repository.
126)The ServiceFactory is used to construct service instance. As
parameters, the ServiceFactory requires the class name of the service to
create, the URL to the service WSDL, and a populated ServiceContext.
127) The ServiceContext object provides stateful information such as
repository credentials to a service instance. Once created, ServiceContext
instances can be optionally registered with the Context Registry Service which
allows them to be shared among multiple service instances
128) A ServiceContext instance must be associated with at least one
RepositoryIdentity instance.A RepositoryIdentity instance stores a repository
name and its login credentials for the service
129) How will you differentiate repeating
fields and single value fields - Repeating fields have multiple values and
single fields have only one value
130) what about security in
Documentum - Security in documentum is enforced by permission levels, ACLs
and groups/roles
131) How to create Users?
There are two ways to
create users in Documentum
a) Using DQL
create dm_cabinet object set object_name =
'%USERNAME%'
create dm_user object set user_name = '%USER
DISPLAY NAME%,
set default_folder = '/%USERNAME%',
set user_os_name = '%USERNAME%',
set user_privileges = %PRIVILEGES%',
set user_address = '%USER EMAIL%
b) Using the IAPI:
create,c,dm_user
set,c,l,user_name
set,c,l,user_os_name
set,c,l,user_address
save,c,l
132) what is the difference
between super user and administrator
A superuser is a user with higher permission levels than other users.
An administrator also have high
level of permissions but he will be able to do the administrative tasks such as
configuring the docbase, scheduling the jobs, managing the sessions etc.
133) What is dfc & dmcl, differenctiate both?
DFC is DCTM foundation
class framework which is a set of Java classes to interact with DCTM server.
DMCL is the inherent language understood by the server.
134) Differences between iAPI and DQL
iAPI is a set of commands
that are given to the server. DQL is the DCTM query language to query the
docbase like a database.
135) Under what scenarios will you use iAPI ?
iAPI is used to
create objects, check-in and checkout, DQL cannot be used for that purpose.
iAPI is basically
used when no other client is available with server
iAPI is also used
to cross check the operations performed by the user code.
136) What is a Permission
Template?
A Permisssion
template is an ACL which assigns a set of permissions to a set of users.
137) What is docapp and
Documentum Application Installer?
A docapp is a
documentum application which can be installed by documetum app installer. A
Docapp can contain a set of custom objects, attributes, lifecycles and
customized forms that can manipulate the docbase.
138) Component and Container - Component Contain more than one Container . Container can found inside the Component
139) App.xml file - This is the XML File
that contains startup page or Startup Component
140) What is the recommended method for migrating Web Content
Management (WCM) Page Builder templates, blueprints, managed links, and
associated content from a production environment to a testing environment?
a. archive and install a DocApp
b. perform a repository-to-repository copy operation through
WebPublisher
c. execute cabinet dump and load
d. use a deep export/import through WebPublisher
Answer: a
141) IDQL supports query
execution while IAPI supports direct invocation of the API functions.
142) Workflows typically
represent business processes and model event-oriented applications. Workflows
can be defined for documents, folders (representing the contained documents),
and virtual documents.
143) Lifecycles define
business rules that can be applied to different types of documents.
144) Content Server is
the foundation of the Documentum platform and provides the following standard
services:
Content management
services
Process management
services
Security services
Distributed
services
145) What is required for using Business
Object Framework 2 (BOF 2)?
a. a dfc.properties file on all client machines such as application
servers
b. a DBOR.properties and a dfc.properties file on all client
machines such as application servers and a global registry repository
c. a DBOR.properties file on all client machines and a global
registry repository
d. a global registry repository and a dfc.properties file on all
client machines
Answer: d
146) Which file replaces the pre-D6 dmcl.ini?
a. dfc.properties
b. docbroker.ini
c. java.ini
d. dbor.properties
Answer: a
147) Certain operations on an object mark it as immutable, which means that object properties cannot be changed. An
object is marked immutable by setting r_ immutable_ flag to true.
148) Object Type - An object type is a
template for creating objects. In other words, an object is an instance of its
type.
149) Content Server uses
UTF-8 encoding of Unicode. The Unicode standard provides a unique number to
represent every character in every language. UTF-8 is a way of representing
these numbers in binary form. Unicode enables Content Server to store metadata
using characters from different languages and to manage multilingual content.
150) Custom Objects can be
created using DA
151) what format that object
are stored in the repository? - MSW8
152) Add on Services in Documentum Content Server
Trusted Content
Services (TCS) provides additional security features such as digital
shredding of content files, strong electronic signatures, content encryption,
and enhanced ACLs.
Content Services
for EMC Centera (CSEC) adds support for Centera storage for guaranteed
retention and immutability. Centera storage is suitable for storing large
amounts of infrequently changing data that needs to be retained for a specific
period.
Content Storage
Services (CSS) enables the use of content storage and migration policies,
which automate the assignment of content to various storage areas. CSS can be
used for optimizing the use of storage infrastructure in the enterprise. CSS
also provides features for content compression and de-duplication.
Retention Policy
Services (RPS) enables use of policies to manage the lifecycle of the
objects stored in the repository. A retention policy defines the phases through
which such an object passes and how it is finally disposed off or archived.
153) Can we change the name of custom folder? If yes, where we have
to change?
Right click->Properties .In the name textbox, type the
new name and save
154) What is the use of components in documentum?
Components are visual elements in wdk applications (like
Menubar, Breadcum,etc.,)
155) Would you install Content Server, Database, Application server
on one machine? - YES
156) Aspects provide an
alternative to placing attributes on a standard object type.
157) A registered table is
a table from the underlying database that has been registered with the
repository. This registration allows the table to be specified in a DQL query,
either by itself or in conjunction with a type. A registered table can be used
in place of an object type in most DQL queries and its columns can be used as
properties in a DQL query.
158) How are these content files associated with a SysObject? In
other words, how does Content Server know what metadata is associated with a
content file? How does it know that one content file is a rendition of another
one?
Content Server manages content files using content
objects, which (indirectly) point to the physical locations of content files
and associate them with SysObjects.
159) Explain different ways new object types and attributes can be
created
From DA create type by specifying or not specifying
supertype and by using DAB
160) List as many native Documentum types
as you can
dm_document
dm_folder
dm_cabinet
dm_sysobject
dm_user
dm_store
dm_process
dm_job
dm_method
dm_relation
dmr_content
161) How are these content files associated with a SysObject? In
other words, how does Content Server know what metadata is associated with a
content file? How does it know that one content file is a rendition of another
one?
Content Server manages content files using content
objects, which (indirectly) point to the physical locations of content files
and associate them with SysObjects.
162) List as many native Documentum attributes as you can
r_object_id
title
subject
object_name
owner_name
r_object_type
r_creation_date
r_modify_date
a_content_type
log_entry
acl_domain
acl_name
163) Every content file in the repository has an associated content
object, which stores information about the location of the file and identifies
the SysObjects associated with it. A content object is an object of type
dmr_content.
164) Documentum Client-Server Application Communication
a. The Content Server projects to the connection broker
b. The client connects to the connection broker to retrieve
connection information for the Content Server
c. The client establishes a connection and issues API commands to
the Content Server via the DFC
d. The Content Server processes the client APIs and retrieves the
requested information from the repository
e. The Content Server sends the information back to the client
using APIs via the DFC
165) Presets and its Order - A preset determines
the selections or actions available in particular situations. Creating a preset
offers a way to reduce screen options to those options that are relevant to the
user’s task in the particular situation. A preset comprises one or more rules.
Each rule determines the selections or actions available within a specific
functional area. For example, a rule can determine available lifecycles,
available actions, or available auto complete text. Presets
allow user to configure menu /format/type /lifecycle/workflow selection for
different users, groups, roles or location. The item or set of items is called
the preset’s scope. Creating a preset offers a way to reduce screen options to
those options that are relevant to the user’s task in the particular situation.
The default order of precedence for applying presets is
as follows: a preset for a location takes first precedence; then a preset for a
user; then a preset for a role; then a preset for an object type. Presets can be disabled
by adding the elements .false. to custom/app.xml. By default, they are enabled
for Content Server version 6 repositories.
166) Difference between 5.3,6.0, 6.5
DQL calls triggers
an onSave() call on the object
Java 1.5 (and
beyond) is supported, this was a big win form my point of view.
DFS - EMC created
web services to access Documentum objects.
The UI had some
major changes for DA / Webtop, many actions were moved to a new and really
snazzy looking "right click menu"
On a more technical
side the dmcl.ini file is now deprecated, DFC code running on a client box now
utilizes the dfc.properties file
EMC released
Composer, which is an Eclipse port that works really well with Documentum.
tomcat , 6.0 –
Weblogic , 6.5 – Jboss
167) A federation is a set
of two or more repositories bound together to facilitate the management of a
multi-repository distributed configuration.
168) To deploy methods to the method server, simply copy the class
files or JAR files to the%DOCUMENTUM%\dba\java_methods directory on the Content
Server.
169) How to hide a version label radio button for a particular
Object type"?
Easiest way is to modify the jsp that correspond to the
checkin component.
170) Where we use Presets?
Restricting the actions for
users/roles/locations
Default values of attributes
Restrictions of format / type selections
in preset
Columns for listing pages
Navigation customizations
171) MTOM to transfer a BinaryContent
representation and BASE_64 to transfer DataHandlerContent and we use this in
DFS
172) EMC Documentum’s workflow model allows an authorized user to
easily develop process and event-oriented applications for document management.
The model supports both production and ad hoc workflows. An authorized user can
define workflows for individual documents, folders containing a group of
documents, and virtual documents. A workflow’s definition can include simple or
complex task sequences (including those with dependencies). Users with
appropriate permissions can modify in-progress workflows. Workflow and event
notifications are automatically issued through standard electronic mail systems
while documents remain under secure server control. Workflow definitions are
stored in the repository, allowing an authorized user to start multiple
workflows based on one workflow definition.
173) Workflow Model
a) We have Workflow Manager to create the
Workflow definition which is called workflow template.
b) At runtime we create a workflow instance
which refers to the workflow template.
c) The server workflow engine controls the
flow logic according to the workflow definition in the workflow template.
d) User performs on the tasks through the
client application. Or the task itself be performed by some applications.
174) REGISTER Statement
Registers an RDBMS table so that eContent
Server can recognize the sql table
Allows access to data in an existing
RDBMS table that may be created to support additional application data part of
another application owned by someone else
Does not verify that the table or its
columns exist
All columns in a table need not be
registered
Creates a dm_registered object in the
System cabinet which provides a description of the table and user access to it
175) Steps to create Register Table
Register a RDBMS table by register keyword
REGISTER TABLE [owner_name.]table_name (column_def
{,column_def})[[WITH] KEY (column_list)]
[SYNONYM [FOR] ‘table_identification’]
Eg: REGISTER TABLE johndoe.”remote1 (“columnA” int)
176) An implicit
association is created by putting the form control inside the label element,
while an explicit association is created
by giving the label element a for attribute with the same value as the form
control’s id attribute.
177) Alias - Reusability
and portability. Alias sets are
stored as dm_alias_set objects in Documentum. They can make already
powerful Documentum features like Workflow, Lifecycles, and Access Control
Lists even more powerful by allowing critical attribute values to be resolved
dynamically.
Alias sets remove the need to hard-code the names of
users, groups, locations, and permission sets throughout your application and
instead provide a means for setting these values dynamically as your personnel
changes and your business processes evolve.
178) Alias Sets are the Collection of
Aliases (Which has alias names and its values)
Resolve a
Sysobject’s owner name and/or ACL dynamically
Resolve Workflow
task performers dynamically
Specify the Docbase
location(s) for linking objects dynamically
Take advantage of a
rich scheme for resolving aliases in different circumstances
179) An alias is referenced
using one of two
formats—%alias_set_name.alias_name or just %alias_name
180) Aspects - Aspects extend behavior and attributes for
objects. An object type defines the properties and behavior of all objects of
that type (and of its subtypes, via inheritance). In contrast, aspects enable
us to attach additional behavior and attributes to an object, regardless of its
type.Even though aspects can be attached regardless of the type of object,
aspects cannot be attached to arbitrary types of objects.
Aspects can be attached
under the following restrictions on types
An aspect can be
attached to any sysobject.
An aspect can be
attached to any object of null type (type with no supertype), once the type has
been altered to allow aspects.
It is also possible
to attach multiple aspects to one object but one aspect cannot be attached
multiple times to the same object.
If an aspect's name
contains a dot, such as jumbo.loan, it cannot have any properties.
181) base 64 is used for encoding and decoding
during the import operation and export operation of files
182) The Business Object Framework (BOF) is a set of
functionality included starting with DFC 5.1 that provides ability to hook into
any of the methods in the standard DFC object interfaces.
Docbasic code which runs either
as part of a Method configured in the docbase or as part of the lifecycle
scripts. Since dmbasic talks directly to the DMCL API, it does not go through
DFC and therefore does not get the benefit of the BOF layer.
183) Deploying BOF - In DFC 5.3, Documentum has introduced
a new way of managing BOF code that is far superior to the DBOR. BOF code is
now stored in the repository and dynamically loaded by DFC as needed by application
code running against that docbase. SBOs can be hosted in a single “global”
repository, providing the same functionality to multiple docbases. TBOs can now
be hosted and configured in only the docbase that uses them, allowing for
different TBO registrations to be set up for different docbases
With 5.3, Documentum has
introduced the concept of a “module”, which is a unit of executable code that
is stored in the docbase. Service Based and Type Based Objects are one kind of
module. To support this new module framework, a few new object types have been
introduced: dmc_jar, dmc_module, and dmc_java_library.
dmc_jar - The
dmc_jar object type is a subtype of dm_document, and it is used for JAR
archives containing Java code. This might include a JAR containing your TBO
implementation class(es), or perhaps your SBO interface class(es), types of
modules in DFC 5.3. Methods can now be implemented by repository-based module
code. Documentum’s new (limited) support for aspects is also implemented using
repository-based module code.
184) Type Based Objects(TBO)
public class BfExampleOneTbo
extends DfDocument implements IDfBusinessObject, IDfDynamicInheritance
{
protected IDfId
doCheckout(String versionLabel, String compoundArchValue, String
specialAppValue,
Object[]
extendedArgs) throws DfException
{
185) Service Based Objects(SBO)
public interface IBfLogService
extends IDfService {
/** Logs a warning message
indicating that the given document has been checked out, as well as some
information about the lock owner.
public void logCheckout(String
docbase, IDfDocument document) throws DfException;
}
//Implementation
public class BfLogService
extends DfService implements IBfLogService
{
public void logCheckout(String
docbase, IDfDocument document) throws DfException
{
//Implement SBO in TBO
protected IDfId
doCheckout(String versionLabel, String compoundArchValue, String
specialAppValue,
Object[]
extendedArgs) throws DfException {
// Let the superclass perform
the actual checkout.
IDfId newId =
super.doCheckout(versionLabel, compoundArchValue, specialAppValue,
extendedArgs);
// Get a session; it will be
released automatically.
IDfSession session =
getSession();
// Instantiate the SBO.
IDfSessionManager sessMgr =
session.getSessionManager();
IDfClient client =
session.getClient();
IBfLogService
logService = (IBfLogService) client.newService(IBfLogService.class.getName(),
sessMgr);
// Call the SBO
method.
logService.logCheckout(session.getDocbaseName(),
this);
186) Alias Example - Imagine a company with a simple
review process for their documents: before a document is released, it must be
reviewed by the author’s manager. Using Alias Sets, each author can have his or
her own unique alias that relates the word “manager” to a user in the docbase.
This allows a single workflow to be used by every author in the docbase. The
workflow is designed to route the document to the “manager” alias, which will
be resolved differently at run time for each author. Instead of requiring a
different workflow for each author, a single workflow can be used with Alias
Sets
Although this
review process seems simple, without Alias Sets, it would be difficult to
implement since the manager’s name would have to be hard-coded as the reviewer,
requiring a different workflow for each author.
187) Difference between Client Capability and Privileges?
Client Capability is used by a
client program (Intranet Client, Desktop Client or your own app etc) to
determine what levels of functionality (dialog boxes for example) are presented
to the user. It is separate from the user's privileges, which are used by the
server to determine what the user is actually allowed to do.