In this post, I would like introduce to Accelerated Content Server (ACS) and Branch Office Caching Services (BOCS).
In Documentum Administrator (DA) under the “Repository/ Administration” node, there are informations concerning the Distributed Content in the System Information:
System Information May 01, 2016 9:49:56 AM User : mysuperuser/mysuperuser ++++++ Repository Repository : MY_DOCBASE_DEV Content Storage Service : Enabled Federation : None Content Intelligence : CIS disabled due to missing dar Global Repository : GLOBALR ++++++ Content Server Content Server : MY_DOCBASE_DEV Hostname : myDctmServer Server Version : 7.1.0190.0300 Win64.Oracle Connection Broker : MYDCTMSERVER Trusted Mode : Enabled ++++++ Distributed Content Network Locations : 0 ACS Server : MYDCTMSERVERACS1 BOCS Servers : 0 ACS Write : Enabled, Synchronous ACS Read : Enabled BOCS Pre-caching : Enabled ++++++ LDAP Servers Enabled Servers : 5 Last Sync : 4/30/2016 10:06:14 AM Disabled Servers : 6
The Accelerated Content Server (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.
It gets installed automatically while installing the Documentum Content Server. After installation administrator needs to configure it for distributed environment.
In DA, the configuration of ACS are under “Repository/ Administration / Distributed Content Configuration / ACS Servers”.Name=MYDCTMSERVERACS1 Content Server=MY_DOCBASE_DEV Content Access=Access from all stores Projections &amp; Stores=Associated content server
In “Info” tab:Name : MYDCTMSERVERACS1 Associated Content Server : MY_DOCBASE_DEV ACS Server Version : 2.3 Content Access : [X] Access all stores Access local stores only  None(Disabled) ACS Server Connections / Enter one connection for each unique base URL : http://myDctmServer:9080/ACS/servlet/ACS
Note : The URL http://myDctmServer:9080/ACS/servlet/ACS must return the ACS version like “ACS Server Is Running – Version : 7.1.0190.0156”.
In “Projections & Stores” tab:Source / Use projections and stores from: [X] Associated content server : MY_DOCBASE_DEV  Settings entered here
Note: The following informations are thus automatically extracted from associated content server : MY_DOCBASE_DEV.Connection Broker Projections / Broadcast availability to these connection brokers TARGET HOST = MYDCTMSERVER PORT = 1489 ENABLED = T Network Location Projections / Serve content to users logging in from these network locations - No Network Location Projections Local Stores / Content from local stores is immediately accessible Local Store Type ---------------- --------------- filestore_01 File Storage thumbnail_store_01 File Storage streaming_store_01 File Storage centera_store_no_retention Content Addressable Storage replicate_temp_store File Storage replica_filestore_01 File Storage encrypted_filestore_01 File Storage my_other_filestore_01 File Storage
… so, in DA, under “Repository/ Administration / Storage Management / Storage” node, we retrieve the configuration concerning the dm_location and dm_storage respectively filestore_01 and storage_01:Name=filestore_01 Type=dm_filestore Size=1.75GB Status=Online In "Info" tab: Location or Path : storage_01 In "Space Info" tab: Active Space/Files : 12.73 GB / 388502912 Orphaned Space/Files : 188.69 MB / 2204032Name=storage_01 Type=dm_location Size=0KB Status=Online In "Info" tab: File System Path : Select Path \\MYFILESERVER\data\MY_DOCBASE_DEV\content_storage_01 Path Type : Directory Security Type : [X] publicopen  public  private
… then, in DA, under “Repository / Administration / Types” node, we retrieve the dm_location=filestore_01 for a custom type:Type : my_custom_document In "Info" tab: Type Name : my_custom_document Super Type Name : dm_document Default Storage : filestore_01 Default Group : [None Selected] Select Default Group Default Permission Set : [None Selected] Select Default Permission Set Default Assignment Policy : [No Policy Set] Enable Indexing : Register for indexing Partitioned : False
… in DQL, we will retrieve the storing path of a content on dm_location=storage_01. In our case, the location is a files server (ex: MYFILESERVER), however, it is possible to target a local folder (ex: d:\Documentum\data\my_docbase_dev\content_storage_01):
TEST 1 : with filestore targeting on local folder on content serverDQL&gt;select distinct file_system_path from dm_location order by 1 ; d:\Documentum\data\my_docbase_dev\content_storage_01 DQL&gt;select r_object_id, i_contents_id from aca_pj WHERE r_object_id='090xxxxxxxxx8f'; 090xxxxxxxxx8f 060xxxxxxxa84 DQL&gt;execute get_path for '060xxxxxxxa84'; D:\Documentum\data\my_docbase_dev\content_storage_01\000157e3\80\02\67\8a.pdf
TEST 2 : with filestore targeting a files serverselect distinct file_system_path from dm_location order by 1 ; \\MYFILESERVER\data\MY_DOCBASE_DEV\content_storage_01 DQL&gt;select r_object_id, i_contents_id from my_custom_document WHERE r_object_id='0902yyyyyyyyya8a6'; 0902yyyyyyyyya8a6 060yyyyyyyyya5e DQL&gt;execute get_path for '060yyyyyyyyya5e'; \\MYFILESERVER\data\MY_DOCBASE_DEV\content_storage_01\0xxxxc5\80\23\31\bb.htm
Branch Office Caching Services (BOCS) is a lightweight server product running in the Apache Tomcat servlet container. BOCS serves content files to Web client end users from a local content cache. BOCS servers communicate only with ACS servers and do not interact with Content Servers or a repository’s supporting database. BOCS servers cannot write content to a repository. BOCS servers use the HTTP or HTTPS protocol to serve content. BOCS is used in distributed environments. BOCS is easily installed and has minimal administration requirements. The BOCS server is supported on the same platforms as Content Server. It needs to be configured for each repository. => BOCS can only be created in repositories that are designated as global registries (like GLOBALR). The current repository is not a global registry. Click the link below to log in to the global registry repository known to DFC on the Documentum Administrator host. You must have superuser privileges to create BOCS.
In DA, the configuration of BOCS are under “Repository/ Administration / Distributed Content Configuration / BOCS Servers”.
Here, 2 Documentum distributed models using BOCS servers (found on internet):
Example 1 : Single Repository distributed environments (Content is distributed across sites)
- A Single Repository, with content stored at the primary site and accessed from remote sites using ACS Server. Optionally, BOCS servers can be used.
- A Single Repository, with content stored in a distributed storage area and accessed from remote sites using Remote Content Servers, ACS Servers, and optionally BOCS Servers.
Example 2 : Multi-Repository distributed environments (Objects, content & metadata, are distributed across sites)
- Multiple Repositories that replicate objects among themselves.
- Multiple Repositories organized as a federation.
Notes : ACS only creates URLs, it’s a non-mandatory component and for some documents, you can’t even use it (Ex: Centera). Disabling ACS, unless the request explicitly says “I want a URL”, will simply create a BinaryContent rather than an URLContent.
Using an URLContent avoids having to forward the content of the document to the application server (ex WAS).