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.