Programmer's Guide:
Using Documentum External Storage (Content Server)

Using Linked Folders

Linked folders provide a two-way link with Content Server. Files added to a linked folder in eRoom are automatically added to content server. Files that are added from content server (i.e., Webtop or WebPublisher) automatically appear in eRoom.

When using SAAPI to access files stored in Content Server, you must allow Content Server credentials to be stored on the eRoom user. 

To add a file to a linked folder, use the IERUContainer::CreateFile() method or IERUItem::CopyTo() or ::MoveTo() method.

The following example shows how to create a linked folder that is connected to a Content Server location. Note that you must provide Content Server credentials, docbase (repository) name and Content Server chronicle ids when creating a linked folder.

LinkedFolder Creation Example :

End Function

Function MyCreateLinkedFolder (inItem as IERUItem) as IERUItem

    Dim target As IERUExternalStorageTarget

    

    ’r;Get the External Storage Manager for the facility

    Dim extstoragemgr As IERUExternalStorageManager

    Set extstoragemgr = inItem.room.facility.ExternalStorageManager

    

    ’r;Get the Documentum provider for the specified docbase name.

    Dim provider As IERUExternalStorageProvider

    Set provider = extstoragemgr.GetProvider(erProviderFamilyDocumentum, ”r;MyDocbaseName”)

    Dim ExternalTarget As IERUExternalStorageTarget

    Dim ExternalTemplate As IERUExternalStorageTarget

    ’r;Identify the user who’s content server credentials will be used to sync this folder.

    Dim Member As IERUMember

    Set Member = inItem.room.facility.loggedinMember  ' vs Nothing  for admin creadentials

    ’r;Credentials must be saved on the eroom user (site settings must allow this)

    ’r; Note that this is only required if credentials have not already been set for the member.

    extstoragemgr.SetExternalCredentials erProviderFamilyDocumentum, Member, ”r;myCSLogin”, ”r;MyCSPassword”

    

    ’r; Create

    Set ExternalTarget = provider.GetExternalStorageTarget("0b7a120880002d87", ”r;;0c7a120880001922;0b7a120880002d87”, /MyCabinet/Linked Folder”r;))

    Set ExternalTemplate = Nothing

    

    ’r;Create linked folder that will synch. user the administrative credentials

    Dim FolderItem As IERUItem

    Set FolderItem = inItem.container.CreateLinkedFolder("Linked Folder", "My Test Linked Folder", erFormatPlainText, ExternalTarget, ExternalTemplate, True, erCreateOptIncludeComments)

    

    ’r;Create a file in the linked folder (will be automatically linked to content server location)

    Dim tmpitem As IERUItem

    Set tmpitem = FolderItem.container.CreateFile(”r;c:\somefolder\MyFile.txt”, "MyFile.txt", erCreateOptMakeNameUnique)

    

    ’r;Return the new item

    Set MyCreateLinkedFolder=FolderItem

End Function