Archive

Archive for November, 2010

Changing Documentum’s Installation Owner

November 24, 2010 1 comment

When initially installing Documentum, the installation owner is set to the logged-in user that performs the Documentum installation. It is preferable to install Documentum and never change the installation owner. However, sometimes company policy dictates that the original installation must be changed. Reasons for the change may be that the user name does not conform to a new naming policy or that originally the user was not a domain user but now should be.Changing the installation owner involves changes to both the operating system and the docbase configuration. This is not a minor change within Documentum, so upfront planning and coordination between the Documentum System Administrator and Infrastructure Team is required.

To get the most from this article, you should already have:

  • A detailed knowledge of Documentum Content Server
  • A detailed knowledge of your company’s implementation of Documentum
  • A detailed knowledge of Windows 2000 Operating System

For purpose of this document, we are going to refer to the following users:

Original Installation Owner:

username = “dmadmin”

password = “dmadmin”

domain = “it”

New Installation Owner:

username = “new_dmadmin”

password = “new_dmadmin”

domain = “dctm”

How Documentum uses the installation owner ?

The Documentum installation owner is the operating system user that owns the server executable and other related files along with the OS process when the server is running. The installation owner is originally determined when the server is installed; it is the logged-in user that performed the Documentum installation. This user is given the following privileges:

  • Operating System:
    • ‘Log On As’ rights to start Documentum Services such as Docbase, Docbroker, Java Method Server and other installed Documentum products (i.e. Site Caching Services).
    • Permission to change the Content Server configuration (i.e. upgrade, create, and delete docbases)
    • Folder level permission to view data, configuration, and many log files located under the %DOCUMENTUM_HOME% directory.
  • Docbase & Content Server:
    • Superuser and System Administrator rights
    • Assignment to administrator (Web Publisher), docu, and admingroup groups
    • Set as the r_install_owner value in the dm_server_config object.
    • Set as the operating system user to run several Administrative jobs such as dm_DataDictionaryPublisher and dm_FulltextMgr

Preparing to Make the Change

Preparation is an important step when making any major change within your Documentum environment. The following are steps recommended to make your life easier when updating the installation owner.

  • Determine best approach for changing the installation owner. The three documented approaches are:
    1. Minimal Impact – Update only the operating system user and the user_os_name of the docbase user
    2. Medium Impact – Create a new user in the docbase to be the installation owner while letting the old installation owner continue to own any existing objects
    3. Largest Impact – Create a new user in the docbase to be the installation owner and reassign the previous installation owner’s objects to the new user.
  • Communicate and Make a Plan – Have your team ready and ensure everyone is aware of the plan. Communication is an important factor for success. Ensuring everyone is aware of their role will help make the change go smoothly.
  • TEST – Set up a test docbase to test updating the installation owner prior to making any change in a Production environment
  • Purge all old log files – Changing the installation owner requires updating permissions on Documentum data and log files. Reducing the amount of unneeded data will greatly speed up the process. This is especially important if you will be following Approach 3
  • Run the Consistency Checker – This report gives you a list of bad data within your system. Cleaning up inconsistent data before making the change will speed up the process and in the end make your life easier.
  • Back up all environments – Before performing any major change within Documentum you should ALWAYS back up your environment. This is a System Administration best practice. Work with your database administrators and infrastructure team to back up both the content server files and the database.
  • Set up the new installation user
    • Add the new installation user to the Administrator group on the Windows 2000 machine
    • Set the user to act as part of the operating system on the Windows 2000 machine. This setting can be found under Control Panel\Administrative Tools\Local Security Settings\Local Policies\User Rights Assignment\Act as part of the operating system
    • Update permission on all folders, subfolders and files under %DOCUMENTUM_HOME%> to remove the old installation owner and add new installation owner with full control

Approach 1: Updating only the installation user OS name  

The simplest way to change the installation owner is to change the existing docbase user’s user_os_name/user_domain. This is the recommended solution in most cases.

Pros

  • Simple way to change the installation owner. This solution does not require updating Documentum objects therefore it reduces the risk of error and amount of work required with large Docbases.

Cons

  • The user_name within Documentum remains the same therefore the previous installation owner name will appear as the display name within Documentum.

Steps

  1. Log into Documentum as an administrator
  2. Update the current Documentum installation user’s user_os_name to the new installation owner:
    update dm_user object set user_os_name = ‘new_dmadmin’, set user_domain = ‘dctm’ where user_name = ‘dmadmin’;
  3. Log onto the Windows 2000 server as current installation owner
  4. Stop Services for all Documentum services (i.e. Docbases, DocBroker, Java Method Server, Site Caching Services)
  5. Edit the install_owner and user_auth_target parameters in the server.ini file to reference the new installation owner and domain for each Docbase in the installation. The server.ini file is located in %DOCUMENTUM_HOME%\dba\config\docbase_name\server.ini or it can be accessed through the Documentum Server Manager.
  6. Within Windows Explorer, change permission to give the new installation user full control on the all directories, subdirectories and files under the Content Server installation root directory (%DOCUMENTUM_HOME%). To update permission within Explorer:
    • Select the directory and right click to display a menu; choose Properties from the menu
    • Select the Security tab on the Properties dialog box
    • Select ‘Add’ to add a new user; select the new installation owner
    • Check Allow for Full Control
    • Remove the previous installation owner from the list of users with permission on the directory; Click Ok

Many subfolders and files under %DOCUMENTUM_HOME% are not set out of box with the allow inheritable permissions from parent to propagate to this object checked. Therefore you cannot assume that a subfolder or file is inheriting permission from its parent and you must ensure that you update the permission on ALL files and subfolders located under %DOCUMENTUM_HOME%. %DOCUMENTUM_HOME% subfolders and files that need to be update because they are not inheriting permission from its parent include but may not be limited to: \data; \data\[docbase_name]\’all subfolders’; \dba; \dba\auth; \dba\config\[docbase name]\dbpasswd.txt; \dba\config\[docbase name]\webcache.ini; \dba\config\[docbase name]\webcache.ini.old; \dba\log\’subfolders’; \dba\secure; \dba\secure\aek.key; \fulltext; \product; \share; \share\data\common\’subfolders’; \share\data\events\’subfolders’; \share\temp\replicate\’subfolders’; \share\temp\dm_ca_store\’subfolders’

Note: If your content storage directories are not located under the %DOCUMENTUM_HOME%\data directory, change the permissions on each content storage directory as well.

  1. Edit the Windows Registry with new installation owner:
    • Update HKEY_LOCAL_MACHINE\SOFTWARE\Documentum\Server\version_no
      • Change the value of DM_DMADMIN_USER to the new installation owner user name
      • Change the value of DM_DMADMIN_DOMAIN to the new installation owner user domain
  2. Set up the appropriate start-up information for Documentum Services
    • Choose Control Panel -> Administrative Tools -> Services
    • Select Documentum Services (i.e Documentum Docbase docbase_name, Documentum Docbroker, Documentum Java Method Server, Documentum SCS_Source)
      • Right click on Service and select Properties
      • On the Log on Tab, enter the new installation name and password under Log On As: This Account
  3. Move any Documentum-related Programs in start menu (C:\Documents and Settings\old_user_name\Start Menu) to the new installation owner
  4. Restart Windows 2000 Server; Log in as the new installation owner
  5. Start the Docbases; View logs to check for errors

Approach 2: Creating a new Documentum installation user without Object Reassignment

This procedure is recommended if your policies require that the docbase user’s user_name be changed but do not requite that existing objects be assigned to the new user.

Pros

  • The user_name within Documentum is updated to the new installation owner therefore it will appear as the display name within Documentum (similar to how it would appear if the docbase had been installed originally as this user).

Cons

  • The old installation user remains within the docbase. However, if the old operating system user has been removed no one will be able to log in as this user
  • Tasks that were previously assigned to the old installation owner will not be accesible

Steps

  1. Log onto the Windows 2000 server as current installation owner
  2. Stop Services for all Docbases and the DocBroker.
  3. Edit the install_owner and user_auth_target parameters in the server.ini file to reference the new installation owner and domain for each Docbase in the installation. The server.ini file is located in %DOCUMENTUM_HOME%\dba\config\docbase_name\server.ini or it can be accessed through the Documentum Server Manager.
  4. Within Windows Explorer, change permission to give the new installation user full control on the all directories, subdirectories and files under the Content Server installation root directory (%DOCUMENTUM_HOME%). To update permission within Explorer:
    • Select the directory and right click to display a menu; choose Properties from the menu
    • Select the Security tab on the Properties dialog box
    • Select ‘Add’ to add a new user; select the new installation owner
    • Check Allow for Full Control
    • Remove the previous installation owner from the list of users with permission on the directory; Click Ok

Many subfolders and files under %DOCUMENTUM_HOME% are not set out of box with the allow inheritable permissions from parent to propagate to this object checked. Therefore you cannot assume that a subfolder or file is inheriting permission from its parent and you must ensure that you update the permission on ALL files and subfolders located under %DOCUMENTUM_HOME%. %DOCUMENTUM_HOME% subfolders and files that need to be update because they are not inheriting permission from its parent include but may not be limited to: \data; \data\[docbase_name]\’all subfolders’; \dba; \dba\auth; \dba\config\[docbase name]\dbpasswd.txt; \dba\config\[docbase name]\webcache.ini; \dba\config\[docbase name]\webcache.ini.old; \dba\log\’subfolders’; \dba\secure; \dba\secure\aek.key; \fulltext; \product; \share; \share\data\common\’subfolders’; \share\data\events\’subfolders’; \share\temp\replicate\’subfolders’; \share\temp\dm_ca_store\’subfolders’

Note: If your content storage directories are not located under the %DOCUMENTUM_HOME%\data directory, change the permissions on each content storage directory as well.

  1. Edit the Windows Registry with new installation owner:
    • Update HKEY_LOCAL_MACHINE\SOFTWARE\Documentum\Server\version_no
      • Change the value of DM_DMADMIN_USER to the new installation owner user name
      • Change the value of DM_DMADMIN_DOMAIN to the new installation owner user domain
    • Update – HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DmServerdocbase_name
      • Change the -install_owner parameter in the value for ImagePath to the new installation owner user name
  2. Set up the appropriate start-up information for Documentum Services
    • Choose Control Panel -> Administrative Tools -> Services
    • Select Documentum Services (i.e Documentum Docbase docbase_name, Documentum Docbroker, Documentum Java Method Server, Documentum SCS_Source)
      • Right click on Service and select Properties
      • On the Log on Tab, enter the new installation name and password under Log On As: This Account
  3. Move any Documentum-related Programs in start menu (C:\Documents and Settings\old_user_name\Start Menu) to the new installation owner
  4. Restart Windows 2000 Server; Log in as the new installation owner
  5. Start the Docbases; View logs to check for errors

 

Approach 3: Creating a new Documentum installation user with Object Reassignment

If the requirements around changing the installation owner include changing the Documentum Installation user_name and removing the old installation user from Documentum, then you must create a new installation Documentum user and reassign the previous user’s objects and tasks to the new user. This is the most complex, time consuming, and risky procedure and is not recommended unless completely necessary.

Pros

  • The user_name within Documentum is updated to the new installation owner therefore it will appear as the display name within Documentum
  • The previous Documentum installation owner will be removed from the Docbase

Cons

  • Reassigning the previous installation owner to the new installation is error prone and time consuming for large docbases. However, risk can be reduced by purging old log files prior to changing the installation owner

Steps

The steps are the same as in Approach 2 with the following steps required at the end:

  1. Log into Documentum Administrator as the new installation owner
    • Navigate to Administration -> User Management -> Users
    • Select the previous installation owner (’dmadmin’)
    • Select Tools -> Reassign User
    • Repeatedly run the following query: select count(*), acl_name from dm_sysobject where acl_domain = ‘dmadmin’ group by acl_name Note: The job may take a while to run depending on the amount of data. Once the query returns no rows the job is complete.

Smoke Testing the Change

After any major change to your Documentum infrastructure you should Test, Test, Test. Detailed test steps vary based on your Documentum application environment. It is important to have a test plan defined during your preparation. However, below are some brief smoke test steps which should prove helpful:

  • If you are using Web Publisher:
    • Log into Web Publisher as the new installation owner
    • Create content based on a template
    • Start a workflow; Log in as the workflow approver to ensure the task went to the correct user
    • Access Web View
  • If you are using Documentum Administrator:
    • Log into Administrator as the new installation owner
    • Spot check jobs (i.e. dm_DataDictionaryPublisher, dm_FulltextMgr , etc.) to ensure they are successfully running
  • If you are using Site Caching Services:
    • Log into Administrator as the new installation owner
    • Navigate to Site Publishing Configuration
    • Check a configuration; run an ‘End to End’ test
  • If you are using any other Documentum products:
    • Log into each application
    • Perform everyday user tasks
  • Run Consistency Checker (dm_ConsistencyChecker) Job. This report appears under System/SysAdmin/Reports

Common Issues/Helpful Hints

  1. Setting user permission on %DOCUMENTUM_HOME% can be cumbersome, is there an easier way to perform this task?
    Yes. It would be recommended to have a system administrator run a windows scripts to update all folders and files under %DOCUMENTUM_HOME%. Another shortcut would be to set the local Administrator group on the Windows 2000 with Full Control permission on all subfolders and files under %DOCUMENTUM_HOME%. Later, when updating an installation owner you would just need to add/remove users from the local Administrator group. Setting the Administrator group permissions in this fashion also eases backing up Content Server files.
  2. Can you update only the user domain?
    Yes. To update only the user domain you will need to:  

    • Add the new domain user to the Administrator group on the Windows 2000 server; Set up the user as act as part of the operating system
    • Update the user_domain attribute of the installation owner:
      update dm_user object set user_domain = ‘[new domain]‘ where user_name = ‘[installation owner]‘
    • Edit the user_auth_target parameters in the server.ini file to reference the new domain for each Docbase in the installation.
    • Update permission on all subfolders and files under %DOCUMENTUM_HOME% to use the new domain user.
    • Update Windows Registry – HKEY_LOCAL_MACHINE\SOFTWARE\Documentum\Server\version_no
      • Change the value of DM_DMADMIN_DOMAIN to the new domain
    • Set up the appropriate start-up information (Log on As: This Account) for Documentum Services to use the new domain user
  3. Can you update only the user password?
    Yes. Stop all Documentum services (Docbases, DocBroker, Java Method Server, Site Caching Services). Within the service properties under the Log on Tab, enter the new password under Log On As: This Account.
  4. What if after running the Reassign User job there are still objects referencing the old user?
    This sometimes happens if there are many objects (such as log files) owned by the old installation owner. A solution to this is to wait for the job to complete and then recreate the previous installation owner within Documentum then run ‘Reassign User’ again. Continue this until the following queries return 0 rows:
  5. select count(*), acl_name from dm_sysobject where acl_domain = '[old installation owner]‘ group by acl_name;
  6. select r_object_id from dm_sysobject where owner_name= ‘[old installation owner]‘;

Hope this experiment is useful .

Upgrading Documentum Environment from 5.2 to 6.5

November 22, 2010 Comments off

The process of upgrading Documentum Content Server from 5.2.5 SP2 to 6.5 SP2 can be divided in two steps:

a)    Upgrading 5.2.5 SP2 to 5.3 SP5

b)    Upgrading the 5.3 SP5 to 6.5 SP2

Part A: Upgrading 5.2.5 SP2 to 5.3 SP5

Following are the steps for the upgrading Documentum environment from 5.2.5 SP2 to 5.3 SP5:

  1. Before upgrading the Documentum content server the database needs to be upgraded from Oracle 8i to Oracle 10g. Before upgrading the Oracle 10g take the db backup and restore them once oracle is upgraded.
  2. Now install the Documentum 5.3 SP5 on the same location where 5.2.5 SP2 is located. Here while installing 5.3 SP5 it will check whether older version of Documentum content server is installed. Since already Documentum is installed it will ask whether to proceed with upgrading the content server or not. Click OK to continue.

The remaining installation steps are similar to the normal content server installation.

3.    Now the content server has been upgraded to 5.3 SP5.

4.    Now docbroker, docbase needs to be upgraded.

Run the server configuration to upgrade the docbroker and docbase respectively. Check the two check boxes as shown in the following screen shot to upgrade the docbroker and docbases.

5.    First docbroker needs to be upgraded. Click on the upgrade docbroker option to upgrade the docbroker.

A confirmation dialog box will pop up informing about upgrading the connection broker. Click on OK to proceed.

6.    Once the docbroker is upgraded, docbase needs to be upgraded. Select continue with server configuration option to upgrade the docbase.

7.    Select upgrade the existing repository option to upgrade the docbase.

A confirmation dialog box will pop up informing about upgrading the connection broker. Click on OK to proceed.

8.    Once the dobase is upgraded, restart the Documentum server, connection broker and docbase. Test the connectivity through da and webtop.

9.    Check all the existing docapps are functioning as they were in the previous environment.

Part B: Upgrading 5.3 SP5 to 6.5 SP2

The second part of the upgrade process involves upgrading from 5.3 SP5to 6.5 SP2.

Following are the steps for upgrading Documentum environment from 5.3 SP5 to 6.5 SP2:

Assuming Documentum 5.3 SP5 is installed on windows 2003 server with database as Oracle 10g.

1.    Now install the Documentum 6.5 SP2 on the same location where 5.3 SP5 is located. Here while installing 6.5 SP2 it will check whether older version of Documentum content server is installed. Since already Documentum is installed it will ask whether to proceed with upgrading the content server or not. Click OK to continue.

The remaining installation steps are similar to the normal content server installation.

2.    Now the content server has been upgraded to 6.5 SP2.

3.    Now docbroker, docbase needs to be upgraded.

4.    Run the server configuration to upgrade the docbroker and docbase respectively. Check the two check boxes as shown in the following screen shot to upgrade the docbroker and docbases.

5.    First docbroker needs to be upgraded. Click on the upgrade docbroker option to upgrade the docbroker.

A confirmation dialog box will pop up informing about upgrading the connection broker. Click on OK to proceed.

6.    Once the docbroker is upgraded, docbase needs to be upgraded. Select continue with server configuration option to upgrade the docbase.

7.    Select upgrade the existing repository option to upgrade the docbase.

A confirmation dialog box will pop up informing about upgrading the connection broker. Click on OK to proceed.

8.    Once the dobase is upgraded, restart the Documentum server, connection broker and docbase. Test the connectivity through da and webtop.

9.    Check all the existing docapps are functioning as they were in the previous environment.

Documentum- Quick look from Interview point of view

November 20, 2010 Comments off

Past 2 -3 days i have been getting a number of requests to Post  Documentum related Interview Questions and Answers, just was thinking Why do you need what you will be asked? If you/I have level of experience called for by job, shouldn’t we  be able to answer the questions without studying in advance.

The Question Can be  either straight forward right from Fundamentals to the Products you have worked on or The Interviewer can even ask character questions “How did you deal with a situation when you were in a project ,you were facing certainobject failure?” and etc..

These are few of the Questions I ask  the prospective technical resources , remember Questions differ by Experience level:

  1. What is Documentum?
  2. What is a content server?
  3. What is a docbase?
  4. What is DFC?
  5. What do you understand by WDK?
  6. What is a docbroker/connection broker?
  7. Explain how content server and docbase communicate with the database?
  8. What is a DocApp?
  9. What is the significance of connection pooling in Documentum?
  10. Do you know how Documentum manage the passwords?
  11. How can applications use Documentum?
  12. What’s the difference between a component and a container?
  13. What are a component’s main features?
  14. What are the major lifecycle methods of a component?
  15. Describe the Documentum object model?
  16. Describe the Documentum security model?
  17. List few native DCTM types you have commonly used?
  18. What tools can be used to create custom object types?
  19. Do you need a container to write a component?
  20. What is the importance of a precondition? When is a precondition executed?
  21. Describe the version management capabilities of Documentum?
  22. What is the significance of i_chronicle_id?
  23. What are implicit and symbolic labels in Documentum version management?
  24. What are renditions?
  25. What is app.xml and web.xml?
  26. What is a workflow and how can we create workflows in Documentum?
  27. What is a lifecycle and how can we create lifecycles?
  28. What is the difference between a workflow and lifecycle?
  29. Describe how you would use and leverage third-party data in Documentum?
  30. Differentiate between role and group?
  31. What do you know about UCF?
  32. What are virtual documents?
  33. What are the major difference between Documentum 5.3 and Documentum 6.x?
  34. Scenario 1
  35.  Common list of Documentum questions asked based on individual’s experience

What is Documentum?

Documentum is enterprise content management software that provides management of content and attributes such as check-in, check-out, workflow and version management. Documentum provides management capabilities for all types of content including business documents, images, video, e-mail, Web pages, fixed content, XML-tagged documents, etc. The core of Documentum is a repository in which the content is stored securely under compliance rules.

Documentum also provides a suite of services which include document management, collaboration, search, content classification, input management, business process management (BPM), customer communication management, Web content management, digital asset management, forms processing, information rights management, compliance and archiving etc.

What is a content server?

Content Server is the foundation of Documentum’s content management system. It is a multi-featured product that provides access to the data and content files that constitute a docbase. It stores content files, their indexes and properties in the docbase. So it controls the access to the docbase. It controls the user’s access to objects in the repository by providing ACL. It is the core functionality that allows users to create, capture, manage, deliver and archive enterprise content.

What is a docbase?

The place where the information about a document is stored is called as Docbase. It’s the combination of the operating system (file system) and the database. The actual file (content) is stored in the file system and the information or attributes of the document are stored in Data base.

What is DFC?

DFC – Documentum Foundation Classes.

This is an object-oriented application programming interface (API) and framework for accessing, customizing and extending Documentum functionalities, implemented as a set of Java interfaces and implementation classes.

What do you understand by WDK?

WDK – Web Development Kit

It is a developer’s toolkit that facilitates the development of complex web based applications that connect to Documentum content repositories and Documentum content server. It contains large library of reusable components and controls to perform common Documentum management functionalities.

What is a docbroker/Connection broker?

Connection broker primarily know as docbroker provides repository connection information to the client application. Before installing a WDK application, one needs to obtain the names of the connection brokers to which the appropriate repositories project and the port numbers on which the connection brokers listen. The connection brokers used by WDK applications are defined in the dmcl.ini file on the application server host.

Explain how content server and docbase communicate with the database?

Documentum Content Server requires a properly configured database. The database tables store attribute values for each object in the repository.

 

Documentum provides a single repository for content and metadata. It uses an extensible object-oriented model to store content and metadata in the repository. Everything in a repository is stored as objects. To retrieve metadata, Document Query Language (DQL) is used. DQL is a superset of SQL that provides a single, unified query language for all the objects managed by Content Server. The repository owner (database user) account is the account used by Content Server to connect to the RDBMS.

What is a DocApp?

A DocApp is nothing but a packaging unit for Documentum objects. DocApps are used to package various elements for customization (such as custom Object Types, Lifecycles, etc.) so that they can be ported from one repository to another easily. Using Documentum Application Builder (DAB) you can create and package all your objects within a DocApp. A DocApp archive is a portable representation of a DocApp in a file on the file system. DocApps simplify developing and redeploying applications.

What is the significance of connection pooling in Documentum?

Connection pooling is an optional feature of Content Server that allows a primary repository session to be recycled and used by more than one user. Implementing connection pooling provides performance benefits for applications that execute frequent connections and disconnections for multiple users. When connection pooling is enabled in the DMCL, primary repository sessions are not closed when a user disconnects. Instead, they are held in a connection pool created by the DMCL. When another user requests a connection to the repository, the user is authenticated and given the free connection. When a user disconnects or a new user assumes ownership of a primary repository session, all sub-connections open in that session is closed.

Do you know how Documentum manages the passwords?

Documentum supports a variety of options for implementing user authentication:

1)    In-line password: A user can be authenticated using an encrypted password that is stored in the user_password attribute of the user object.

 

2)    LDAP directory server:  If you use LDAP directory server, you have the following options:

       Authenticate against the directory server directly, using a secure or a non-secure connection

       Authenticate using an LDAP-enabled dm_check_password program 

3)    Custom password checking program: One can create a custom password checking program and set up the servers to call that program for user authentication. This option is particularly useful if you want to use Windows domain authentication for UNIX users.

 

4)    Authentication plug-in: Documentum provides authentication plug-in which supports Single Sign-On and strong authentication. (Strong authentication is the use of authentication tokens such as smart cards or biometrics.)

How can applications use Documentum?

Custom applications can be developed using DFC (Documentum Foundation Classes) or WDK (Web Development Kit). DFC exposes Content Server API while WDK offers a framework and model for building a web application.
However, there are numerous aspects and options when developing a custom application using Documentum. Custom workflows can model business processes and lifecycles can encapsulate business rules around documents. SBO’s (Service-based Business Objects) and TBO’s (Type-based Business Objects) can encapsulate business logic.

Documentum capabilities can also be encapsulated in Web Services opening up a vast array of possibilities. D6 (Documentum 6.0) offers DFS (Documentum Foundation Services) which includes some core services as well as tools for developing web services for Documentum. Then there are standard interfaces such as FTP and JDBC, which allow a Documentum repository to be accessed using these protocols. Specialized connectors and portlets offer additional alternatives. PIA (Primary Interlope Assembly) allows access from .NET platform

What’s the difference between a component and a container?

A component is composed of one or more JSP pages, supporting behaviour classes and an XML configuration file.

 

A container is a specialized component. Many components share common UI and state. For example, dialogs have a title, content area, and a button panel. Containers provide these common layout and state for multiple components.

Components can be used within more than one container, inheriting their UI and state from the container.

What are a component’s main features?

A component consists of

1) A component definition within a XML file that defines the following elements:

       Unique <component Id>. The optional component inheritance from a parent component definition is specified in the “extends” attribute.

       <scope> element which defines the context in which the component definition is applied.

       <params> element containing the parameter used in the behaviour class.

       <start> element contains all presentation pages. 

       <class> element specifying the behaviour class

       <nlsbundle> element specifies the class that contains externalized strings for the component class and JSP pages. Properties files in the bundle can be localized. 

2) JSP pages: Layout is defined in the JSP pages, using HTML and configurable Documentum tags. The definition defined in the <start> element of the    definition XML as stated above.

3) Component behaviour class: has the logic of the component. This is defined in the <class> element of the XML file as stated above.

4) String resource file defined in the <nlsbundle> element of the XML configuration

What are the major lifecycle methods of a component in Documentum?

The major lifecycle methods of a component are listed below:

OnInit, onRender, onRenderEnd, onCommitChanges, onOk, onCancel etc.

What do you mean by Documentum object model?

The Documentum object model is used to represent content in the repository. The object model is hierarchical as in an object-oriented programming language. Child objects inherit all attributes and behaviors of the parent object.

Describe the Documentum security model?

OR How many level of ACL does exist?

Access Control lists (ACL) provides the security of Documentum objects. Every sysobject is assigned an ACL which has information about the users and groups access on that object. There are basic 7 different levels of permissions which can be assigned to a user or a group of users for an object. The following are the object level permissions:   

Level Permission Description
     
1 None                  No access is permitted.
2 Browse The user can look at attribute values but not at associated content
3 Read                  The user can read content but not update.
4 Relate                The user can attach an annotation to the object.
5 Version The user can version the object.
  Write The user can write and update the object.
7 Delete                The user can delete the object.

 

Other than these basic object level permissions we have extended permission levels also in Documentum. The extended permissions are described below:

  • execute_proc    : Allows the user to execute the procedure (if it is a procedure)
  • change_location: Allows the user to change the location of the document
  • change_state    : Allows the user to change the state of the document using the document lifecycle
  • change_permit  : Allows the user to change the object’s permissions
  • change_owner  : Allows the user to change the owner of the object

List few native DCTM types you have commonly used?

The main native Object types in Documentum are:

            1. dm_sysobject

            2. dm_folder

            3. dm_cabinet

            4. dm_document

            5. dm_user

            6. dm_audittrail  

What tools can be used to create custom object types?

  1. DAB – Documentum Application Builder
  2. DQL scripts

Do you need a container to write a component?

No, a container is not mandatory when writing a component. E.g. in Webtop the “Copy to Clipboard” feature doesn’t have a container.

What is a precondition and what is its importance? When is a precondition executed?

A precondition can be written for an action which determines whether the context is valid for the control or not. Accordingly it will then render an action control as enabled or disabled. They are however optional in action definition. If not mentioned the action will always execute.

 

Preconditions are called for each item in a list of component. If there are 10 items and 20 applicable actions, 200 preconditions will be executed before the list is rendered. So it can affect application performance if not used correctly.

Describe the version management capabilities of Documentum?

Versioning is an important content management feature of Documentum which helps in managing and tracking multiple versions of a document. The check-in / check-out option provides versioning capability in Documentum. The version label attribute is the heart of the version management system which is used by the content server to label multiple versions of the document. Each label can have an implicit label or a symbolic label. The implicit label is assigned by the server whereas the symbolic label is assigned by the user.

What is the significance of i_chronicle_id?

The i_chronicle_id attribute value is same for all the versions of a document. Each versioned object is assigned a unique “r_object_id” value but “i_chronicle_id” is the one attribute which is same for all versions of a document and binds all versioned objects together.

What are implicit and symbolic labels in Documentum version management?

Implicit Labels: The implicit version label is a numeric label. It is generally assigned by the server and is always stored in the first position of the r_version_label attribute. By default, the first time you save an object, the server sets the implicit version label to 1.0. Each time you check out the object and check it back in, the server creates a new version of the object and increments the implicit versions label (1.1, 1.2, 1.3, and so forth). 

Symbolic Labels: A symbolic version label is either system or user-defined. Using symbolic version labels, you can provide labels that are meaningful to your application and work environment. Symbolic labels are stored starting in the second position (r_version_label [1]) in the r_version_label attribute.

What are renditions?

A rendition is a representation of a document that differs from the original document only in its format or some aspect of the format. It is an alternate copy of a file or an additional file that can be included with an object. For example, it may be a copy of an image in a different format or in a different resolution.

What is app.xml and web.xml?

App.xml: The app.xml is an application configuration file wherein one can configure the application wide behaviour. In Documentum each application layer (webtop, wdk, webcomponent etc…)  has an app.xml file. It is made of application elements tag such as for failover, content_transfer, authentications, formats, plug-in, listeners etc. To inherit and override settings in another application layer, the application definition can extend an application definition in another layer.

Web.xml: The web.xml file is a Web Application Deployment Descriptor for a web application. The web.xml file provides configuration and deployment information for the Web components that comprise a Web application. Examples of Web components are servlet parameters, servlet and Java Server Pages (JSP) definitions, and Uniform Resource Locators (URL) mappings.  

What is a workflow and how can we create workflows in Documentum?

A workflow is a process that electronically passes documents and instructions from user to user. A workflow automates the process, ensuring that the right file goes to the right people in the right order.

Workflow tools:  used to create the workflow definition called the workflow template are:

1)    Workflow Manager 

2)     Business Process Manager

What is a lifecycle and how can we create lifecycles?

A document lifecycle is a sequence of states a file goes through between its creation and expiration. When you create a file, the system assigns a document lifecycle to the file and puts the file into the first state in the lifecycle. Typical lifecycle states include WIP (Work In Progress), indicating a document is in its draft phase, and Staging, indicating a document is complete and ready for approvals.

What is the difference between a workflow and lifecycle?

Lifecycles and workflows are tools for enforcing business rules within Documentum.

 

A lifecycle is a sequence of a file going between its creation and expiration states. Typical lifecycle states include Draft, Work in Progress, Approved, released etc. Thus the focus of the lifecycle is an object.
A workflow represents a network of activities that electronically passes documents and instructions from user to user. It automates the process ensuring the correct flow of work in a system. For example, an approval workflow can take a document from the author who created the document to an editor for review and lastly a manager for approval. Thus the workflow process may result in changing lifecycle states of the document.

Describe how you would use and leverage third-party data in Documentum?

The third party data from an external table can be accessed from Documentum docbase with the help of Register tables. One can register any external table in Documentum and can thereby access the data residing in it as simply as it is residing in a Documentum docbase. To register an external table in Documentum we use the following DQL:  

DQL>    “Register table dm_dbo.table_name (columname datatype)”

 

The above query registers the table in documentum database and as known this will create an object of type “dm_registered”.

Differentiate between role and group?

A group in Documentum is a convenient way of collecting all users with the same permission level. A group can thereby facilitate managing permissions (assigning ACL’s), assigning a task in a group work basket in a workflow, as an owner allowing all members of a group to have ownership for the document. Thus groups are mainly used for Object level permissions. 

Roles are mainly used for providing function permissions. They are basically a special type of groups. It is created by setting the group_class attribute to role and the group_name attribute to the role name.

What do you know about UCF?

UCF – Unified Content Facilities

It is a lightweight applet that is responsible for transferring content between the content server, application server and the client machine during operations such as check-in, checkout, import etc. UCF is a Java-based client application that is installed at run-time. Since WDK application uses UCF content transfer it downloads a lightweight applet to the browser when the client uses the Documentum operations for the first time.

What are virtual documents?

A virtual document is a document that contains components or children documents. It is composed of other components, each component being an individual object. The dmr_containtment object stores information about each individual component of a virtual document.

 

Virtual documents are used mainly for the following scenarios:

1)    When there are multiple authors of a document, virtual document creates individual component providing owner, security and other characteristics for the document.

2)    Virtual documents are useful in managing multiple file formats For E.g. if there are sub attachments like an excel sheet and a presentation attached to some word document. In this case a virtual document creates three heterogeneous file formats keeping a single logical document.

3)    Virtual documents are useful when order of the children matters. By default the ordering depends on adding or removing sequence of the components. But it can also be done manually.

What are the major difference in Documentum 5.3 and Documentum 6.x?

Following are some of the major features introduced in Documentum 6.x which were not present in 5.3 

–       Webtop performance improved by reducing the amount of refreshes and by making better utilization of the AJAX framework

 

–       Documentum functionality presented as service in 6.x (Documentum Foundation Services i.e. DFS) 

–       Introducing Documentum Composer – which Supplies an Eclipse-based platform for Documentum tools, allowing you to configure application elements such as workflow templates, lifecycle definitions, security settings, aspects, and object types

 

–       Introduces Aspects – new member in BOF family. Aspects are a mechanism for adding behavior and/or attributes to a Documentum object instance (and not object type) without changing its type definition 

–       XML Store as the underlying architecture for metadata and Web 2.0 content types in D6

 

–       In the Documentum 6.5 release, the DocApp was migrated to the new Documentum Archive (DAR) format, which is compatible with Eclipse‑based Documentum Composer development tool 

–       Unification of dfc.properties and dmcl.ini file. The dfc.properties file replaces dmcl.ini file to define behavioural preferences for client and application

 

–       New DFC tracing capabilities and configuration. Tracing is now controlled by entries in dfc.properties rather than log4j file.  

Scenario 1

A document named JohnCoverLetter.doc is linked to two folders: /Letters/Candidates/John and /HR/Communications. An HR admin uses Webtop to delete the folder /Letters/Candidates/John and chooses to delete all the subfolders and objects. When this operation completes what happens to /HR/Communications/JohnCoverLetter.doc?
 

Answer:
The document will still be there. The document is only unlinked from /Letters/Candidates/John before that folder is deleted. 

Common list of Documentum questions asked based on individual’s experience

The following questions can be asked. The answers for these questions need to be prepared by the individual based on the experience.

 

Quest: Give us a brief introduction about yourself, highlighting your strong areas? 

Quest: What all Documentum clients have you worked on? Tell us about your Documentum experience?

 

Quest: Questions may be asked on each Documentum tool you mention in the above question. 

Quest: Have you worked on any Webtop customization? What Webtop components did you customize?

 

Quest: Describe the customization which you feel was the toughest among all?

Based on your answer, there can be further questions related to Documentum basics of Webtop customization. 

Quest: Can you tell me some of the DQL commands you’ve commonly used?

Quest: Have you done any migration kind of work? If yes, describe. 

Quest: Have you worked with Docapps? If yes, question related to it.

Quest: Did you design a workflow? How did you do it? 

Quest: Some basic questions on JAVA can be asked just to test the fundamentals of java like for e.g.

  • Mention few characteristics of Object oriented programming?      
  • What is difference between “Final”, “Finally” and “Finalize”?
  • What are the various access modifiers available in java? Explain them.
  • What is the purpose of abstract class?
  • What is the difference between interface and abstract class?

Quest: Have you worked on UNIX environment? If the answer is yes, there may be questions on some commonly used UNIX commands.

You can also get a bunch of tips and foundations certification exam practice questions at dm_cram.

Hope this post is useful.

Alias Sets and Permission Sets

November 18, 2010 Comments off

In my previous post i discussed about the Aliases and Permission templates, today lets see what are Alias Sets and Permission sets and how exactly security works in Documentum.

What is Alias Set?

An alias set is simply a list of aliases (like “reviewer” or “supervisor”) and the values that they resolve to. Whenever an object is referenced the permission set applied on it will be taken and if this set refers to an alias set then the alias value will be resolved and applied on the object and access will be restricted based on it.

Please Note in some circumstances you may assign an empty alias value and let the client application prompt the user for a value when it is needed.

Alias Sets are an important part of a complex Documentum system’s architecture, providing a level of abstraction that can significantly reduce the effort needed to administer the Docbase. 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.

What are Permission Sets?

Access Control Lists (s) [ACLs] are Documentum’s method of restricting access to important documents and folders. ACLs control Documentum’s security layer, one of the most flexible and powerful security schemes around. The permission can also be applied on workflow access and lifecycle application also.

Access control lists are stored as persistent objects in the Docbase. Although ACLs are persistent objects having an object ID, they are not SysObjects. Version cannot be created for. If modification is done an, the server either overwrites with the changes or copies the changes the copy. What option it chooses depends on whether the directly to make the changes or reference an object that uses the.

Some Uses can be:

  • You can assign seven different levels of access to your documents in the system
  • You can assign access to individual users or to groups of users
  • Users can create their own private s that only they can use
  • System Admins can create System-Wide s that can be used by everyone
  • Extended Permissions let you really tweak what a user can do to an object
  • Different folders can have different ACLs based on requirement irrespective of their hierarchy.

This contains information about which users and groups have access to the document, and what level of access each has. When a user attempts to access an object, the Documentum Server looks in to determine which groups have access. It then looks in these groups to determine if the user is in any of the groups. It determines the user’s access level by awarding the user the highest level of access taking into account all the groups that the user is a member of.

Please Note even if you explicitly assign NONE access to a user, if they are also in a group that has READ access, the user will have READ access to the object. Always the individual privilege will be overridden by the group privilege.

Now does the Security feature Works in Documentum:

When an object is applied with some permission set then corresponding entry will be made in the backend with the reference to the applied ACL. Now when an object is accessed after that if the ACL is referring to any alias set then first the alias is converted in to actual value and from where it map’s the current accessing user’s access and provides access based on the ACL entries for that user to that specific Object that is being currently accessed. Because of this Documentum has provided wide variety for the application of security across the System. It can be like a person who is an administrator of one cabinet will have max permit of delete in those folders and cabinets where as in the other folders and cabinets and documents that are present in the system he will be having normal read permission or different based on the requirement.

 

Hope this is useful ,appreciate your comments and corrections if any.

Implementing Security in Documentum

November 17, 2010 Comments off

Alias sets provide a means resolving attribute values that specify user and group names. This is an extremely powerful feature of Documentum because it allows you to design s, Lifecycles, and Workflows that can be used in multiple contexts without modification. Aliases are place holders for user names, group names, or folder paths.

Using aliases lets you write applications or procedures that can be used and reused in many situations because important information such as the owner of a document, a workflow activity’s performer, or the user permissions in a document’s is no longer hard coded into the application. Instead, aliases are placeholders for these values. The aliases are resolved to real user names or group names or folder paths when the application executes.

Similarly we have Permission templates which are created in the system with specific business needs and it refers to alias set. The templates can be applied on the individual object or group of objects. If a template is not explicitly applied to the object then a default template which is internally created by Documentum will be applied to the objects. Each object in the system that is created such as folders, documents, Workflows, lifecycles can be applied with individual permission. The application becomes even more flexible if you assign a template to the document. When the template is assigned to an object, the server creates a copy of the, resolves the aliases in the copy to real user or group names, and assigns the copy to the document. So when the actual template is changed with some permission information the copy normally gets updated.

Note: In some cases the copy of the template which is automatically created will not get updated. Some objects may be referring to the original Template that needs to be dereference and then the same needs to be applied.

Will bring out the difference between Alias Set and Permission Set in my Next Post.

BOCS Implementation Contd-Single Model 2

November 15, 2010 Comments off

In my Previous Post , we have discussed the Single Model 1 implementation of BOCS. Another approach of executing BOCS can be put in Single Model 2 as in below:

Single repository with content in a distributed storage area.

In this model, content is stored in a distributed storage area. A distributed storage area is a storage area with multiple component storage areas. One component is located at the repository’s primary site. Each remote site has one of the remaining components. Each site has a full Content Server installation (a content-file server, also called a content-file server or RCS) and an ACS server installation for the repository. Content is replicated from its source component to the remaining

Components by user-defined content replication jobs. This model can be used for either web-based clients or Desktop clients. If a remote site is using web-based clients, the site should configure the use of the ACS server or a BOCS server to access content, to provide optimal performance for the web-based users. Desktop clients use the Content Server at the remote site to access content. In this configuration, metadata requests are handled by the Content Server at the primary site and requests to write content to storage are handled by the Content Servers (RCS) at the remote sites.

Note: This figure depicts geographic locations, not individual machines.

Single Model-2 Distributed Architecture BOCS

 

In this model, users in the small branch offices say in Singapore and Thailand access the content Stored in the distributed storage component at the larger India branch office. Similarly, users in the small branch offices at Europe or  Australia  access content stored in the larger Australia 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 Australia or India. If the users are logging in using a Desktop-based client, content requests are handled by the Content Server in Australia or India. (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.

Benets and best use

For sites using web-based clients, this model is best if Single 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.

BOCS Implementation

November 13, 2010 Comments off

A BOCS server can be implemented in two different Distributed models.

Single Model-1 and Single Model -2

Lets see How a Single Model-1 Systems Works.

Single repository with content persistently stored at primary site and accessed using ACS or BOCS servers.

In this model, remote users connect through web browser, using a WDK-based client application. They access content stored at the primary site, through either an ACS or BOCS server. The ACS server is a content server dedicated to serving content. It does not process metadata nor write content to storage. It only processes content requests. The BOCS server is a separate product. It is a caching server that communicates only with ACS servers. Like the ACS server, it does not handle metadata requests or write content to storage.

Both the ACS and BOCS servers use HTTP or HTTPS protocol to serve content to clients. Single model 1 is the preferred model when remote users are accessing repository content through a web-based application, such as WebTop. There are two alternative configurations for this model. The configurations differ in how users at remote sites access the content at the primary site. In the first alternative, remote sites have a BOCS server installed and clients at each remote site use that BOCS server to access content. In the second basic configuration, users at remote sites have only web clients, and they access content using the ACS server at the primary site.

Alternative 1: BOCS servers at remote sites communicating with primary site

The Systems are not representing the individual systems or users they are representing the Geographical locations.

 

2: Remote sites, without BOCS servers, using primary site’s ACS server

 

The Model one has architecture of having single repository in an N/W distributed environment, where model one and combined form of alternatives of model one and two are very common Industry configuration, they are preferred over the alternative two for model 1. Or there can be one combined situation also when both of the configuration may exist simultaneously in a combine form, as shown in following figure. It has single BOCS server serving to all of the system irrespective of the geographical location from where the client is accessing the Content Server. But the architecture changes when we have more than one Content storage are referred by the Content server; it is explained in model 2.

 

Two alternatives for single model 1 combined

 

Benets and best use

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 my next Post , i will bring out the implementation of BOCS in Single Model-2.

%d bloggers like this: