Documentum Filesystem, “DoFS”

Documentum filesystem (DoFS) is a fuse-based filesystem, which allows linux-user to mount Documentum repository as a Linux filesystem.

There are 3 dependencies, DFC, Fuse-jna and Jna, to use filesystem you will need to build both jna projects and add jar-files to classpath. You will also need DFC in your classpath.

Usage:

$ java -jar dofs.jar /mountpoint/ <user> <pass> <repository> <host>:<port>

host and port are for docbroker, you do not need to set them in dfc.properties.

To run fuse as non-root, you may need to add user to group “fuse” or equivalent, depending on your distribution(?)

Documentum filesystem running on Centos6:

Some samples:

List few Cabinets.

mika@mint-virtualbox ~/mountpoint $ ls -lrt
total 0
drw-rw-r-- 1 mika mika 0 Mar 27 2012 System
drw-r--rw- 1 mika mika 0 Mar 27 2012 Templates
drw-r--rw- 1 mika mika 0 Mar 27 2012 Resources
drw-r--r-- 1 mika mika 0 Mar 27 2012 Integration
drw-r--r-- 1 mika mika 0 Mar 27 2012 dm_bof_registry
drw-r--r-- 1 mika mika 0 Mar 27 2012 Grants Management
..

Basic filesystem functionality works…

mika@mint-virtualbox ~/mountpoint $ cd System/Sysadmin/Reports/
mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ tail LogPurge 
Looking for reports from dm_job objects...
Temp Location: temp
Temp Location File Path: /home/dmadmin/dctm/share/temp
Changing directory to server temp location: /home/dmadmin/dctm/share/temp
Search for all *953007*.out files older than the cutoff date...
Looking for Method Server Logs to purge
Method Server Log directory is /home/dmadmin/dctm/dba/log//00953007/MethodServer
Changing directory to /home/dmadmin/dctm/dba/log//00953007/MethodServer
Search for all *documentum.log.save.* files older than the cutoff date...
Report End  4/8/2013 20:30:20
mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ cp LogPurge newfile
mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ tail newfile 
Looking for reports from dm_job objects...
Temp Location: temp
Temp Location File Path: /home/dmadmin/dctm/share/temp
Changing directory to server temp location: /home/dmadmin/dctm/share/temp
Search for all *953007*.out files older than the cutoff date...
Looking for Method Server Logs to purge
Method Server Log directory is /home/dmadmin/dctm/dba/log//00953007/MethodServer
Changing directory to /home/dmadmin/dctm/dba/log//00953007/MethodServer
Search for all *documentum.log.save.* files older than the cutoff date...
Report End  4/8/2013 20:30:20

Dump all extended attributes:

mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ getfattr -d -m . newfile 
# file: newfile
a_application_type
a_archive="F"
a_category
a_compound_architecture
a_content_type="unknown"
a_storage_type="filestore_01"
acl_domain="dmadmin"
acl_name="dm_4595300780000101"
.......

Show just one attribute:

mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ getfattr -n r_object_id newfile 
# file: newfile
r_object_id="0995300780016556"

Set attribute and check value:

mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ setfattr -n title -v titlevalue newfile
mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ getfattr -n title newfile 
# file: newfile
title="titlevalue"

Using wildcard to check several attributes:

mika@mint-virtualbox ~/mountpoint/System/Sysadmin/Reports $ getfattr -n acl_name *
# file: AuditMgt
acl_name="dm_acl_superusers"

# file: ContentWarning
acl_name="dm_acl_superusers"

# file: DataDictionaryPublisher
acl_name="dm_acl_superusers"

And last but not least, the stuff which does not work and cannot work..

Duplicate object_names

mika@mint-virtualbox ~/mountpoint/mgr1 $ ls -l
ls: cannot access 'DUPNAME_testi_(0b9530078000a5d5)': No such file or directory
total 0
?????????? ? ?    ?    ?            ? DUPNAME_testi_(0b9530078000a5d5)
drw-r--r-- 1 mika mika 0 Oct 15  2013 testi
mika@mint-virtualbox ~/mountpoint/mgr1 $ ls
DUPNAME_testi_(0b9530078000a5d5)  testi
mika@mint-virtualbox ~/mountpoint/mgr1 $

For duplicates, prefix DUPNAME is inserted, and r_object_id as a suffix. At current state it is not possible to do any file system operations with duplicates.

Unsupported characters by filesystem:

mika@mint-virtualbox ~/mountpoint/Temp/Jobs/dm_DMClean $ pwd
/home/mika/mountpoint/Temp/Jobs/dm_DMClean
mika@mint-virtualbox ~/mountpoint/Temp/Jobs/dm_DMClean $ ls -l
total 0
-rw-r--r-- 1 mika mika    608 Mar 27  2013 3_27_2013 07:02:45 dm_DMClean
-rw-r--r-- 1 mika mika 184036 Mar 28  2013 3_27_2013 23:01:23 dm_DMClean

Characters like : are replaced with _, this is a filesystem api limitation and cannot be fixed. Not even with new filesystem as some system calls should be rewritten and that would break current filesystems, so this will never work, sorry.

Leave a Reply

Your email address will not be published. Required fields are marked *