Thursday, September 25, 2014

Documentum Cloning

Documentum cloning steps

First way
*****************************************************************
Copying a Docbase.
This approach does not use Documentum’s “dump” and “load” utilities, but rather standard file and database schema copies. Paraphrasing the installation guide’s notes, and using “source” to refer to the Docbase being copied, and “target” to refer to the Docbase that will receive the copy:

• NOTE: It is recommended that you use a clean, unused Content Server as the target. You will have to change the security keys to match the source Content Server, which would impact any existing Docbases on the target.

• NOTE: The same OS must be used for both the source and the target Content Servers.

• NOTE: On the target Content Server, the OS user that will own the copied Docbase must have the same username and password as the OS user on the source Content Server.

• Stop the source Docbase.

• Note the name and ID of the Docbase you will be copying. You can look at the Docbase’s server.ini file to determine its ID: $DOCUMENTUM/dba/config/
/server.ini à look for the “docbase_id” parameter.

• Copy the file $DOCUMENTUM/dba/secure/aek.key from the source Content Server to the same location on the target Content Server.

• On the target Content Server, login as the same OS user that owns the Docbase in the source Content Server. Go through the standard process to create a new Docbase. You must use the same Docbase name and ID as the source Docbase. If you are manually creating the Docbase DB schema, it would be a good idea to use the same data and index tablespace names as used by the source Docbase DB schema, to facilitate import (later step).

• Stop the target Docbase.

• On the source Content Server, zip or tar the entire Docbase directory: $DOCUMENTUM/data//

• Export the Docbase schema from the source database.

• Connect as SYSTEM to the target database, and drop the newly-created target Docbase schema.

• Re-create an empty target schema of the same name/password:
SQL> create user 
2 identified by 
3 default tablespace 
4 temporary tablespace 
5 quota unlimited on 
6 quota unlimited on 
7 quota unlimited on ;
SQL> grant connect to 
;
SQL> grant create session to 
;
SQL> grant create sequence to 
;
SQL> grant create table to 
;
SQL> grant create view to 
;

• Import the source Docbase schema export file into your new target schema that you just re-created.

• Connect to the new target Docbase DB schema, check the following, and make updates to refer to the 
new target Docbase location rather than the original source location:

o select r_install_domain, web_server_loc from dm_server_config_s;
o select host_name from dm_mount_point_s
o select target_server from dm_job_s;
o select projection_targets in dm_server_config_r;

• Run the following SQL statement in the target DB schema so that all views get rebuilt:
update dm_type_s set views_valid=0;

• Update the directory path information in Docbase DB schema

Below sql statements are examples of updating drive letter from E to C. 

update DM_LOCATION_S
set FILE_SYSTEM_PATH=replace(FILE_SYSTEM_PATH, 'E:\', 'C:\')
where FILE_SYSTEM_PATH like '%E:\%'


update DM_MOUNT_POINT_S
set FILE_SYSTEM_PATH=replace(FILE_SYSTEM_PATH, 'E:\', 'C:\')
where FILE_SYSTEM_PATH like '%E:\%'


• Copy the zip or tar of the source Docbase filesystem over to the target Content Server, and unzip or untar it into the corresponding target folder $DOCUMENTUM/data//.

• Edit the target server.ini file ($DOCUMENTUM/dba/config//server.ini), and ensure that the preserve_existing_types key in the SERVER_STARTUP section is set to TRUE:

preserve_existing_types=T
• Save server.ini
• Start the target Docbase

**********************************************************************
Same steps in other language

Cloning a Documentum Server

Part I – Preparing the Target Environment
Create same users & groups on target machine
Create /etc/services entries on target identical to source (Unix only)
Install Oracle with different sid 
Create Oracle user same as source 
Create tablespaces, etc. for docbase owner same as source
Verify server.ini settings if tablespace names change
Transfer .profile for dmadmin and docbase owner from source and modify Oracle sid and home settings. (Unix only)
Install Documentum Server on target – same version and patch level as source
Create a local Docbroker on target
Create target Docbase with same properties as source
Docbase name
Docbase ID
Docbase owner
During installation, modify the server.ini to reflect changes in index_store tablespace and add: preserve_existing_types = T
Ensure target Docbase projects only to target Docbroker
Shutdown target Docbase
Apply appropriate server patch
Start target docbase to ensure patch applied successfully
Shutdown target Docbase
Drop all tables in target database schema (Have dba do this)
Sample script:
Connect oracleowner/password@sid
Spool drop_schema.sql
Select ‘drop table’||table_name||’;’ from user_tables;
Spool off
@drop_schema
Verify schema objects no longer exist in target database

Part II – Transfer the database and content
Run LogPurge, DM_Clean and DM_Filescan on source Docbase
Run State of Docbase on source Docbase
Inactivate all jobs on source Docbase if any are scheduled to run during cloning
Shutdown the source Docbase
Export all objects owned by database owner from source database (dba)
(exp oracleowner/password@sid owner=docbaseowner file=docbasename.exp compress=y)
Import data into target database (dba)
(imp oracleowner/password@sid file=docbasename.exp)
Through Oracle, update hostname in target database (login as docbase owner)
Update dm_mount_point_s 
set host_name = ‘newhost’;
Update dm_server_config_s
set r_host_name = ‘newhost’;
Update dm_server_config_r
Set projection_targets = ‘newhost’ where projection_targets = ‘oldhost’;
Update dm_type_s set views_valid = 0;
Update dm_job_s
Set target_server = ‘docbasename.docbasename@newhost’ 
Where target_server = ‘docbasename.docbasename@oldhost’

On source, navigate to $Documentum/data/docbasename/content_store_01. Issue a ls –R | wc –l to get file count. (Unix method, do something similar on Windows)
Tar and transfer everything in $Documentum/data/docbasename/content_store_01. This will include all content beginning with hex-docbase id folder and full text indexes in verity folder. (Unix method, do something similar on Windows)
Untar content on target server.
Navigate to $Documentum/data/docbasename/content_store_01. Issue a ls –R | wc –l to get file count and compare to file count from source. Make sure they match! (Unix method, do something similar on Windows)
Tar and/or transfer the following files/directories: (Unix method, do something similar on Windows)
$Documentum/dba/config/docbasename/checkpass.cfg
$Documentum/dba/config/docbasename/dm_check_audit_pws. chown to root and chmod to 6777.
Re-start source docbase and re-activate jobs

Part III – Activate the Clone
Startup the clone server!
Verify connectivity through iapi and idql
Edit dmcl.ini on local client or application server to point to clone host machine
Log into clone through DTC or Webtop.
**********************************************************

Please note that checkout objects will not get cloned .Make sure you execute api for unlocking the objects: unlock,c,r_object_ id

Run all the 3 jobs 1) dm_filescan 2) dm_clean and 3) dm_consistency checker and start clonning of docbase

Monday, September 22, 2014

How to set Date defualt time

This feature is not supported in Composer as it is designed in that way .Feature request CMPSR-3839 was created to request adding this feature for future releases of composer. It is supported from Data Dictionary perspective.

The steps mentioned on the Feature request are as following :


Below are the steps:
1. Create custom type (set dm_document as super type) in Composer.
2. Create custom_attr with type as time.
3. Set the default value for the attr created in step 2.
you will not be able to set the default value for time



 try the following DQL:

ALTER TYPE your_type MODIFY (your_attr (SET default=NULL))  


Tuesday, September 16, 2014

When requesting a PDF rendition from a word file, the following error appears on the CTS logs: No Media Plug-in of type AdvancedPDF available to handle a 'document_to_pdf' transformation 14:12:00,722 DEBUG [ Thread-29] CTSPluginHandlerImpl - No Media Plug-in of type AdvancedPDF available to handle a 'document_to_pdf' transformation

And in the PDFAdvanced log, the process received a time out error as the files remained in Pending status.

Cause
This could be because the name of the CTS host is not the correct one on the Adlib Configuration.

Resolution
Check to see if the file is able to be proccessed directly through ADLIB.
If unable to process the file directly, even with ADLIB, and if the JOB status is still PENDING, then we should check the following.

In the CTS host:
1. In Program Files/Documentum/CTS/Adlib/Express, open the adexps.exe. 
2. In Configuration, check to see that the Default Option is selected.

In Program Files/Documentum/CTS/Adlib:
1. Open the Exponent Connector and click in Options.
  - Tab Processing : Check that the Exp Confg is the default.
  - Tab Exp Manager: Check that the host name is the correct one.
2. Open the Exponent Manager and click in Options.
  - Tab Processing: Check that the default option is selected.
  - Tab Exp Connector: Check that the host name is the correct one.

Add new format object


The icons that display for documents of various formats are located in the directory: /webtop/wdk/theme/documentum/icons/format/

Each format has 2 icons; a 16 pixel by 16 pixels GIF formatted image file and a 32 pixel by 32 pixels GIF formatted image file. You can edit / create these files in any image editing application which supports the export of these icons images as "Graphics Interchange Format" (GIF).

The file naming convention is as follows:

f_<format name>_16.gif
f_<format name>_32.gif

Where <format name> is the "name" attribute for the dm_format object that represents the format you are creating or modifying. In the folder contents view the 16x16 icon is displayed and in the properties page the larger 32x32 icon is displayed.

Example 1:
Create a custom icon for a format name "mp3", which is not already included in Webtop:

I started f_zip_16.gif and f_zip_32.gif are generic blank document icons.

I edited them in Microsoft Paint and saved them in the above icons/format directory, as:

f_mp3_16.gif and f_mp3_32.gif

Starting Webtop I imported an mp3 file and when viewing the folder contents the document displayed the newly created icon. Viewing properties on the new format should show your new large icon.


Example 2:
Create a new format in DA fir WinRAR archives.

Name: winrar
Default File Extension: rar
Windows Application: WinRAR.exe

Follow the same procedure above to create two custom icon image files and save them in the /webtop/wdk/theme/documentum/icons/format/ directory as:

f_winrar_16.gif
f_winrar_32.gif

Import a document with a .rar file extension and save it as a WinRAR format in the Docbase. View the folder contents and Properties of this document.

Restart the application server and you should see the custom icons you created for this format.


Let me know if you have any questions.


Sunday, September 14, 2014

Upgrading the Content Server software

Use these instructions to upgrade Content Server software. The length of time needed to upgrade a
repository depends on the size of the repository. Allow sufficient time for backing up the repository
and performing the upgrade.
To upgrade the software installation:
1. Back up the repository.

2. If the repository contains customized repository formats (dm_format objects), back up the
customized formats.
Repository formats are upgraded by the dm_apply_formats.ebs script, which reads values from
the formats.csv file. If the attributes of a format in the repository do not match the format
descriptions in the formats.csv file, the script overwrites the existing values with the values
in the file.

3. Run the consistency checker.
The consistency checker is a script that looks for repository inconsistencies, such as users with
nonexistent groups, permissions sets with nonexistent users, and sysobjects that point to
nonexistent content files. Fixing inconsistencies in the repository improves the quality of the data
in the repository and results in a smoother upgrade. The syntax is:

dmbasic -fconsistency_checker.ebs -eEntry_Point -- repository_name
superuser password

        • repository_name is the name of the repository against which you are running the consistency
           checker.
         • superuser is the username of a repository superuser
         • password is the password for the superuser’s account.
The results of the consistency checker are directed to standard output.

4. Fix the inconsistencies reported by the consistency checker as errors.
The EMC Documentum Content Server Administration and Configuration Guide provides information
on the consistency checker.

5. Disable all jobs.

        • On UNIX and Linux, disable jobs in all repositories in the installation you are upgrading.

6. For the upgrade on a Windows host, shut down the repositories and connection brokers.
a. Click Start > Programs > Documentum > Server Manager.
b. Select the correct Content Server and click Stop.
c. Click the connection broker tab.
d. Select each connection broker.
e. Click Stop.
7. For the upgrade on a UNIX or Linux host, shut down the repositories and connection brokers.
EMC Documentum System Version 6.7 SP2 Upgrade and Migration Guide 51
Upgrading Content Server
a. For each repository, run the dm_shutdown_repository script, where repository is the name of
the Content Server to be stopped.
b. Stop each connection broker using the dm_stop_connection broker utility.
The EMC Documentum Content Server Administration and Configuration Guide contains
instructions.
8. Shut down the application server.
• To shut down the application server on Windows, stop the service called Documentum Java
method server. Ensure that the application server does not start automatically after a host
restart.
• To shut down the Java method server on UNIX or Linux, run the script
$DOCUMENTUM_SHARED/<application_server>/domains/DctDomain/stopMethodServer.sh.
9. Run the Content Server installation program. and contain the details.

10. Run the Content Server configuration program.
The Content Server configuration section in the installation chapter provides the procedure on
running the Content Server configuration program. Perform the procedure with the following
upgrade modification steps:
a. At step 6, select Custom configuration.
b. At step 8 (Configure a connection broker), select Upgrade an existing connection broker.
c. At step 9 (Configure a repository), select Upgrade an existing repository and skip to step 12.
The upgraded repository will use the same configuration settings as the existing repository.
If you are upgrading a repository on a Sybase platform, the upgrade procedure may hang
if the database transaction log is too small. When the repository is upgraded, it opens a
long-running transaction while the upgrade script is running. If the transaction log is too
small, the transaction hangs with locked system tables because the database server cannot
write information to the transaction log. To continue with the upgrade:
1.     Run the following command on the Sybase database:

sp_dboption db_name,'trun log on chkpt',true

2.     Run a checkpoint command to truncate the transaction log.

3. If steps 1 and 2 fail to resolve the issue and allow the upgrade to proceed, increase the
transaction log space.
11. If you upgraded from an installation using FAST fulltext indexing, and selected xPlore fulltext
indexing, you must restart Content Server again after you complete Content Server configuration.

12. After you complete the Content Server configuration, create a nonunique index on the
dm_sysobject.r_object_id and r_aspect_name properties by using the following MAKE_INDEX

command:

EXECUTE make_index WITH type_name='dm_sysobject',
attribute='r_aspect_name',use_id_col=true

The inclusion of the use_id_col argument set to true automatically causes Content Server to
include the r_object_id column in the index.

Note: Before you create the index, verify if it exists already. Check if dm_sysobject has an index on
r_aspect_name and r_object_id. If the index does not exist, then create it by using the above DQL.

13. If you are upgrading a repository in a distributed environment that uses a BOCS and
asynchronous write jobs, create an index on the dmr_content_s(i_parked_state, r_object_id)
properties. Use the following MAKE_INDEX command to do so:

EXECUTE make_index WITH type_name='dmr_content',
attribute='i_parked_state',use_id_col=true,id_in_front=false

14. For an upgrade from 6.5 SP2 to the current version:
After the upgrade is complete, for Windows, delete the directory <DctmUserDir>\bea9.2
(typically c:\documentum\bea9.2) as well as the directory <DctmUserDir>\bea9.2 (typically

c:\program files\documentum\bea9.2). For Unix, delete $DOCUMENTUM_SHARED/bea9.2.

15. Enable all jobs you previously disabled. In Documentum Administrator, navigate to
Administrator>Job Management>Jobs. For each of the previously disabled jobs, right-click the
job and select Properties. In the Properties window, set the State option to Active.
16. On a Windows upgrade, the Startup Type is set to Manual for the Documentum Docbase Service
repository name service. If you want the repository to automatically start after a server reboot,
navigate to Start>All Programs>Administrative Tools>Services, and set the Startup Type to

Automatic.

Wednesday, September 10, 2014

Introducing New format in documentum application

To create a format object, use the CREATE...OBJECT statement.The syntax is:
CREATE dm_format OBJECT
SET attribute = value {,SET attribute = value}
For example, the following statement taken from the"formats.dql" script, creates the format object for the textformat:

create dm_format object
set name = 'text',
set can_index = true,
set mac_creator = 'ttxt',
set mac_type = 'TEXT',
set dos_extension = 'txt',
set description = 'ASCII text'
go

You can use either IDQL or the DQL Query command on the Editmenu in
WorkSpace to enter the CREATE...OBJECT statement.

Through the API
To create a format object through the API, use the followingprocedure:
1. Double-click the IAPI icon in the program group for theDocbase.
2. Enter your username and password.
3. Use the Create method to create the format object:
API>create,c,dm_format
. . .
< returned format id>
4. Use the Set method to set its attributes. For example:
API>set,c,<returned format id>,name
SET>myformat
. . .
OK
API>set,c,< returned format id>,can_index
SET>T
. . .
OK
and so forth
5. Save the new object:

API>save,c,< returned format id>

to add image for the new format need customize the formatlist component

place the image in 16 and 32 dimension

16-import screen list
32-object list screen.

Wednesday, September 3, 2014

Index queue status " Awaiting indexing "

You can delete items from the index queue either through DA or using DQL so if you wanted to delete all index queue items for dm_job objects you would use DQL like

delete dmi_queue_item objects where name = 'dm_fulltext_index_user' and item_type = 'dm_job'


Run a select with the same criteria first just to make sure that only those queue items you want to delete are being selected though.

If you want to permanently stop dm_job objects being indexed then you'll have to unregister dm_sysobject and register only those types you are interested in. There is info on this in the following threads.

Monday, September 1, 2014

Action menu fail with MSG_ERROR_GETTING_OPERATIONS error in Documentum Capital Projects

n error occurs when performed an action in Documentum Capital Projects

An error has occurred.
MSG_ERROR_GETTING_OPERATIONS
class com.documentum.fc.common.DfException
After closing this window, press the Refresh or Reload button on your browser to continue.
Hide Details
Stack Trace:
DfException:: THREAD: http-bio-8080-exec-8; MSG: ; ERRORCODE: ff; NEXT: null
com.ecs.webtop.library.execution.operations.OperationsContainer.initializeOperations(OperationsContainer.java:1157)
... 81 more
Caused by: RcfException:: THREAD: http-bio-8080-exec-8; MSG: Instantiation of class class com.ecs.framework.library.rcf.config.actionsregistry.RcfAction failed: Class com.infograph.pluggable.epfm.comments.AddCommentAction instantation failed!; ERRORCODE: ff; NEXT: null
at com.ecs.framework.library.rcf.RcfFactory.instantiate(RcfFactory.java:140)
at com.ecs.framework.library.rcf.RcfFactory.instantiate(RcfFactory.java:117)
... 84 more
Caused by: EcsClassLoaderException:: THREAD: http-bio-8080-exec-8; MSG: Class com.infograph.pluggable.epfm.comments.AddCommentAction instantation failed!; ERRORCODE: ff; NEXT: null
at com.ecs.framework.library.classloader.EcsClassLoader.newInstance(EcsClassLoader.java:124)
at com.ecs.framework.library.rcf.RcfFactory.instantiate(RcfFactory.java:92)
... 85 more
Caused by: java.lang.NullPointerException
at com.ecs.framework.library.classloader.EcsClassLoader.newInstance(EcsClassLoader.java:122)
... 86 more
RcfException:: THREAD: http-bio-8080-exec-8; MSG: Instantiation of class class com.ecs.framework.library.rcf.config.operationsregistry.RcfOperationGeneric failed: Instantiation of class class com.ecs.framework.library.rcf.config.actionsregistry.RcfAction failed: Class com.infograph.pluggable.epfm.comments.AddCommentAction instantation failed!; ERRORCODE: ff; NEXT: null
at com.ecs.framework.library.rcf.RcfFactory.instantiate(RcfFactory.java:140)
at com.ecs.framework.library.execution.OperationsHelper.getOperations(OperationsHelper.java:725)
at com.ecs.framework.library.execution.OperationsHelper.getOperationsForListOfIds(OperationsHelper.java:807)
at com.ecs.webtop.library.execution.operations.OperationsContainer.initializeOperations(OperationsContainer.java:1157)
at com.ecs.webtop.library.execution.operations.OperationsContainer.onInit(OperationsContainer.java:223)
at com.documentum.web.form.FormProcessor.invokeMethod(Unknown Source)
at com.documentum.web.form.FormProcessor.invokeMethod(Unknown Source)
at com.documentum.web.form.FormProcessor.fireOnInitEvent(Unknown Source)
at com.documentum.web.form.FormOperation.requestOnInitEvent(FormOperation.java:169)
at com.documentum.web.form.JumpOperation.execute(JumpOperation.java:113)
at com.documentum.web.form.FormProcessor.openForm(Unknown Source)
at com.documentum.web.form.WebformTag.doStartTag(WebformTag.java:127)
at
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
at com.documentum.web.form.FormProcessor.dispatchURL(Unknown Source)
at com.documentum.web.formext.component.URLDispatchBridge.dispatch(URLDispatchBridge.java:107)
at com.documentum.web.formext.component.ComponentDispatcher.mapRequestToComponent(ComponentDispatcher.java:460)
at com.documentum.web.formext.component.ComponentDispatcher.doPost(ComponentDispatcher.java:336)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at com.documentum.web.formext.component.ComponentDispatcher.doService(ComponentDispatcher.java:297)

...
Instantiation of class class com.ecs.framework.library.rcf.config.actionsregistry.RcfAction failed: Class com.infograph.pluggable.epfm.comments.AddCommentAction instantation failed!; ERRORCODE: ff; NEXT: null
at com.ecs.framework.library.rcf.RcfFactory.instantiate(RcfFactory.java:140)
at com.ecs.framework.library.execution.OperationsHelper.getOperations(OperationsHelper.java:725)
at com.ecs.framework.library.execution.OperationsHelper.getOperationsForListOfIds(OperationsHelper.java:807)
at com.ecs.webtop.library.execution.operations.OperationsContainer.initializeOperations(OperationsContainer.java:1157)
... 81 more
Caused by: RcfException:: THREAD: http-bio-8080-exec-8; MSG: Instantiation of class class com.ecs.framework.library.rcf.config.actionsregistry.RcfAction failed: Class com.infograph.pluggable.epfm.comments.AddCommentAction instantation failed!; ERRORCODE: ff; NEXT: null

Solution:

The RCF-schema.xml file in the repository may not be in an active state.
Make sure the RCF-schema.xml  file in the repository is in an active state. Once the file promoted to active state, the error should no longer exists.