Story behind when a document gets deleted in Documentum Repository
Posted On Wednesday, October 28, 2009 at at 2:26 PM by DocumentumEMC
When a document is deleted from Documentum, only the document's metadata is deleted. The content itself (i.e. the object pointed to by the dmr_content object) remains in the content storage area until the IAPI script generated by the dmclean utility is run. If the dmclean utility has not been run, it is still possible to recover the object's content file.
Note: The document's attributes cannot be recovered without going back to a database backup. Below is an outline of a strategy which can be used to do this recovery.
Recovering the Information of the deleted Object
1. The Following DQL will retrieve the object_ids that correspond to the content objects that have been deleted
select r_object_id from dmr_content where any parent_id is null
If you want to retrieve data for a particular client, you can extract the following information to create your DQL:-
a) What was the name of the object? This is the object_name attribute.
b) What format was the document? This is the full_format attribute.
c) What was the date/time of the last checkin? This is the set_time attribute.
d) What was the name of the client machine where the file was last checked in? This is the set_client attribute.
The DQL that will be created in this case according to your search criteria is as follows:-
select r_object_id from dmr_content where any parent_id is null and set_client = and full_format = and set_time > DATE('')
2. Using the Object Ids recovered the following IAPI needs to be executed to pick up the path and relevant information of the Object under consideration :-
API> apply,c,,GET_PATH
API> next,c,q0
API> get,c,q0,result
This returns the file system path to the object. For example:
/disk2/dm20/data/solar20o/content_storage_01/00000065/80/00/14/07
How to restore the Document
To be able to restore the document back to its original location, you will need to firstly create a document object of the deleted type using the IAPI :
Creating a new dm_document object using IAPI
API> create,c,dm_document
0900006580005a65.
Setting the name of the Deleted object
API> set,c,,object_name
SET> Restored Document
OK
Linking the deleted file to the newly created object
API> setfile,c,,/disk2/dm20/data/solar20o/content_storage_01/000000
65/80/00/14/07,
OK
Linking the object to a directory in the Cabinets where the file will be restored
API> link,c,,/Temp
OK
Saving the file
API> save,c,
This will restore the deleted document at the location /Temp with the name Restored Document
Note: The document's attributes cannot be recovered without going back to a database backup. Below is an outline of a strategy which can be used to do this recovery.
Recovering the Information of the deleted Object
1. The Following DQL will retrieve the object_ids that correspond to the content objects that have been deleted
select r_object_id from dmr_content where any parent_id is null
If you want to retrieve data for a particular client, you can extract the following information to create your DQL:-
a) What was the name of the object? This is the object_name attribute.
b) What format was the document? This is the full_format attribute.
c) What was the date/time of the last checkin? This is the set_time attribute.
d) What was the name of the client machine where the file was last checked in? This is the set_client attribute.
The DQL that will be created in this case according to your search criteria is as follows:-
select r_object_id from dmr_content where any parent_id is null and set_client =
2. Using the Object Ids recovered the following IAPI needs to be executed to pick up the path and relevant information of the Object under consideration :-
API> apply,c,
API> next,c,q0
API> get,c,q0,result
This returns the file system path to the object. For example:
/disk2/dm20/data/solar20o/content_storage_01/00000065/80/00/14/07
How to restore the Document
To be able to restore the document back to its original location, you will need to firstly create a document object of the deleted type using the IAPI :
Creating a new dm_document object using IAPI
API> create,c,dm_document
0900006580005a65.
Setting the name of the Deleted object
API> set,c,
SET> Restored Document
OK
Linking the deleted file to the newly created object
API> setfile,c,
65/80/00/14/07,
OK
Linking the object to a directory in the Cabinets where the file will be restored
API> link,c,
OK
Saving the file
API> save,c,
This will restore the deleted document at the location /Temp with the name Restored Document
How to configure LDAP object in Documentum
Posted On Friday, October 16, 2009 at at 11:49 AM by DocumentumEMC
How to configure LDAP Object in Documentum
To setup an LDAPConfig Object and import the users you may follow the steps documented in the eContent Server Administrator Guide, Appendix C, "Using an LDAP Directory Server". However, please note the following three items that are not detailed in the documentation.
1. You must provide an email address in the LDAP server and LDAP Configuration object in Documentum Administrator (DA).
2. Use groupofuniqueNAMES instead of groupofuniquemembers. The groupofuniquenames is defined in the schema, where as the groupofuniquemembers is not.
STEPS FOR TESTING LDAP FUNCTIONALITY:
Below is the procedure for testing the LDAP functionality briefly without checking in detail.
1. Install Netscape Directory Server on NT or Unix. A schema is made automatically when you install LDAP server.
2. Add a user and group into LDAP Directory Server, by Netscape LDAP Directory Server, and PLEASE PROVIDE EMAIL ADDRESS.
3. Make an LDAP Configuration object in a Docbase, using DA. Below is a sample of the setting:
Hostname : your computer name or IP address where LDAP server runs,
Port : default 3891 Note but it depends on your LDAP Server so consult the LDAP team for this.
Person Object Class : person
Group Object Class : groupofuniquenames [NOT groupofuniquemembers]
Person Search Base : o=xyz.com (This is the domain name of the computer where LDAP server is installed.)
Group Search Base : o=xyz.com (Same as Person Search Base)
Enabling LDAP Changelog Information : uncheck
Name : uid
OS Name : uid
Email Address : mail
4. Restart Docbase
5. Run LDAPSynchornize job
6. Check whether users and groups defined in LDAP server are imported into the Docbase in DA.
7. Try to connect to the Docbase with Intranet Client (IC) or Desktop Client (DTC) as the user defined in LDAP Server.
Again, the following items are correction or clarification to the documentation:
1. Provide an email address in the LDAP server and LDAP Configuration object in Documentum Administrator (DA).
2. Use groupofuniqueNAMES instead of groupofuniquemembers. The groupofuniquenames is defined in the schema, where as the groupofuniquemembers is not.
3. Restart Docbase once you have created a LDAP Configuration object.
Please feel free to given feedback/comments/suggestions/improvements.
To setup an LDAPConfig Object and import the users you may follow the steps documented in the eContent Server Administrator Guide, Appendix C, "Using an LDAP Directory Server". However, please note the following three items that are not detailed in the documentation.
1. You must provide an email address in the LDAP server and LDAP Configuration object in Documentum Administrator (DA).
2. Use groupofuniqueNAMES instead of groupofuniquemembers. The groupofuniquenames is defined in the schema, where as the groupofuniquemembers is not.
STEPS FOR TESTING LDAP FUNCTIONALITY:
Below is the procedure for testing the LDAP functionality briefly without checking in detail.
1. Install Netscape Directory Server on NT or Unix. A schema is made automatically when you install LDAP server.
2. Add a user and group into LDAP Directory Server, by Netscape LDAP Directory Server, and PLEASE PROVIDE EMAIL ADDRESS.
3. Make an LDAP Configuration object in a Docbase, using DA. Below is a sample of the setting:
Hostname : your computer name or IP address where LDAP server runs,
Port : default 3891 Note but it depends on your LDAP Server so consult the LDAP team for this.
Person Object Class : person
Group Object Class : groupofuniquenames [NOT groupofuniquemembers]
Person Search Base : o=xyz.com (This is the domain name of the computer where LDAP server is installed.)
Group Search Base : o=xyz.com (Same as Person Search Base)
Enabling LDAP Changelog Information : uncheck
Name : uid
OS Name : uid
Email Address : mail
4. Restart Docbase
5. Run LDAPSynchornize job
6. Check whether users and groups defined in LDAP server are imported into the Docbase in DA.
7. Try to connect to the Docbase with Intranet Client (IC) or Desktop Client (DTC) as the user defined in LDAP Server.
Again, the following items are correction or clarification to the documentation:
1. Provide an email address in the LDAP server and LDAP Configuration object in Documentum Administrator (DA).
2. Use groupofuniqueNAMES instead of groupofuniquemembers. The groupofuniquenames is defined in the schema, where as the groupofuniquemembers is not.
3. Restart Docbase once you have created a LDAP Configuration object.
Please feel free to given feedback/comments/suggestions/improvements.
All About Dump and Load in Documentum for Docbase Migration
Posted On at at 11:22 AM by DocumentumEMC
All About Dump and Load in Documentum for Docbase Migration
-Dump and load is a feature built into Documentum.
- It allows you to take the entire contents of your docbase, and write them out to a single file. This can be done not only for content, but for users, groups, acls, etc.
-The file that gets written out is in a proprietary format, so the only thing you can do with it is load it into another docbase, thus "dump and load".
-However, this feature is often used for:
• Backing up your docbase (although you will still probably want a more reliable backup process, like a file system backup).
• Moving or copying your docbase to a new machine or environment (ie, creating a test docbase from your production docbase).
• It is also frequently the recommended upgrade path when moving to a new version of Documentum's server product.
- Run dm_clean,dm_logpurge,dm_filescan before dumping a Docbase. This avoids dumping unwanted objects.
- Docbase should be down.
- Should not be used by users.
- All jobs which are active must be inactive.
Dump:
-The most common method for performing this is using Documentum's API interface.
-On the server that Documentum is installed you will find a file called iapi32.exe.
-Look in your Documentum server directory under product\4.x\bin. Run this application from a DOS window.
-It will prompt you for the docbase you wish to connect to, as well as a username and password.
-Connect to the docbase you wish to dump.
-You will soon be at an api command prompt.
-From this prompt, you can issue any of Documentum's api commands.
-In this case we will be issueing the command to create a dump file from the docbase you are currently connected to.
-In most cases, the following set of commands will dump all of your relevant information out of your docbase.
- It will extract all of your content objects (and their content), as well as your formats and users and any kind of objects with thier data :
create,c,dm_dump_record
set,c,l,file_name
c:\path\fileName.dump
set,c,l,include_content
2=2
append,c,l,type
dm_sysobject
append,c,l,predicate
2=2
append,c,l,type
dm_format
append,c,l,predicate
2=2
append,c,l,type
dm_user
append,c,l,predicate
2=2
append,c,l,type
dm_assembly
append,c,l,predicate
2=2
append,c,l,type
dm_group
append,c,l,predicate
2=2
append,c,l,type
dm_relation
append,c,l,predicate
2=2
append,c,l,type
dm_relation_type
append,c,l,predicate
2=2
append,c,l,type
dmi_queue_item
append,c,l,predicate
2=2
And so on , write the above command for all the object types you want to
export.
#
# NOTE: also dump any user defined non-sysobject types.
#
save,c,l
getmessage,c
-This script dumpts all dm_sysobject objects, dm_format objects, and dm_user etc, objects from you docbase.
-Also the content of these objects will be included.
-You will notice that for each object type we append a predicate of "2=2".
-Since the predicate is required, this is a way of tricking Documentum into exporting all objects.
- You could have used other criteria, such as:
• object_name='xyz'
• folder('/folderName1',descend/)
-Once the dump is complete, you will have a file c:\path\fileName.dump that contains all of your docbase information.
-This file can then be loaded into a new docbase of your choice.
Please feel free to comment. i would like to hear more suggestions,improvements for this
-Dump and load is a feature built into Documentum.
- It allows you to take the entire contents of your docbase, and write them out to a single file. This can be done not only for content, but for users, groups, acls, etc.
-The file that gets written out is in a proprietary format, so the only thing you can do with it is load it into another docbase, thus "dump and load".
-However, this feature is often used for:
• Backing up your docbase (although you will still probably want a more reliable backup process, like a file system backup).
• Moving or copying your docbase to a new machine or environment (ie, creating a test docbase from your production docbase).
• It is also frequently the recommended upgrade path when moving to a new version of Documentum's server product.
- Run dm_clean,dm_logpurge,dm_filescan before dumping a Docbase. This avoids dumping unwanted objects.
- Docbase should be down.
- Should not be used by users.
- All jobs which are active must be inactive.
Dump:
-The most common method for performing this is using Documentum's API interface.
-On the server that Documentum is installed you will find a file called iapi32.exe.
-Look in your Documentum server directory under product\4.x\bin. Run this application from a DOS window.
-It will prompt you for the docbase you wish to connect to, as well as a username and password.
-Connect to the docbase you wish to dump.
-You will soon be at an api command prompt.
-From this prompt, you can issue any of Documentum's api commands.
-In this case we will be issueing the command to create a dump file from the docbase you are currently connected to.
-In most cases, the following set of commands will dump all of your relevant information out of your docbase.
- It will extract all of your content objects (and their content), as well as your formats and users and any kind of objects with thier data :
create,c,dm_dump_record
set,c,l,file_name
c:\path\fileName.dump
set,c,l,include_content
2=2
append,c,l,type
dm_sysobject
append,c,l,predicate
2=2
append,c,l,type
dm_format
append,c,l,predicate
2=2
append,c,l,type
dm_user
append,c,l,predicate
2=2
append,c,l,type
dm_assembly
append,c,l,predicate
2=2
append,c,l,type
dm_group
append,c,l,predicate
2=2
append,c,l,type
dm_relation
append,c,l,predicate
2=2
append,c,l,type
dm_relation_type
append,c,l,predicate
2=2
append,c,l,type
dmi_queue_item
append,c,l,predicate
2=2
And so on , write the above command for all the object types you want to
export.
#
# NOTE: also dump any user defined non-sysobject types.
#
save,c,l
getmessage,c
-This script dumpts all dm_sysobject objects, dm_format objects, and dm_user etc, objects from you docbase.
-Also the content of these objects will be included.
-You will notice that for each object type we append a predicate of "2=2".
-Since the predicate is required, this is a way of tricking Documentum into exporting all objects.
- You could have used other criteria, such as:
• object_name='xyz'
• folder('/folderName1',descend/)
-Once the dump is complete, you will have a file c:\path\fileName.dump that contains all of your docbase information.
-This file can then be loaded into a new docbase of your choice.
Please feel free to comment. i would like to hear more suggestions,improvements for this