Tuesday, May 28, 2013

Documentum Quick Reference -2

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

72) Steps to Implement SBO
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.