Many organizations have a requirement for interfacing Microsoft technologies with EMC Documentum. I hope to provide sample code for some of the more common Documentum customizations involving Microsoft technologies and C# in particular.

DOCUMENTUM AND MICROSOFT.NET DESIGN PATTERNS
1. Value Assistance Management Without DAB (explanation)
Source control location: Trunk/D6/UpdateValueAssistance

2. Value Assistance Management using DFS (Just uploaded Sept. 10, 2009). This is another implementation of the above design pattern, but this one uses DFS as a service context. (Look in the code before running the app as the username and password are still hardcoded into the app.)
Source control location: Trunk/D6/D6ValueAssistance_Manager

3. Value Assistance Management service written in Windows Communication Foundation (WCF) and using DFS to apply DQL queries to modify the value assistance of the custom type.
Source control location: Trunk/D6/dctmMiddleService

4. DFS (Documentum Foundation Services) Consumption Pattern (A pattern which abstracts the calls to DFS so reusable code is put in one area.)
Source control location: Trunk/D6/DfsConsumer


DOCUMENTUM UTILITIES IN C#
1. SyncToS4M
I have uploaded a new project called SyncToS4M, which basically reads data from an Excel spreadsheet, generates UPDATE DQL statements from them, and executes the statements against a repository. It's a crude utility, but may come in useful for some operations tasks that come up. It's also very easy to modify.
Source control location: Trunk/D6/SyncS4MToDctm

2. Media Streaming Client #1
This is an application that streams content from a Documentum repository to the Windows Media Player control. This application uses DFS without the .NET productivity layer.
Source control location: Trunk/Documentum/Documentum/StreamingClientSample

3. Media Streaming Client #2
Again it just streams content from a repository, except this one takes advantage of the .NET productivity layer.
Source control location: Trunk/Documentum/Documentum/StreamingClient2

4. Count of Open Sessions
An application that issues a DQL query that returns the number of open sessions against a repository. It uses the DFS Consumption pattern in its implementation.
Source control location: Trunk/D6/SessionCountingApp

5. Retrieve Content URL
An application that uses the .NET productivity layer of DFS to test the API for retrieving an object's content URL.
Source control location: Trunk/Documentum/Documentum/CWApplyPermissions

6. Retrieve list of Excel documents
An application that grabs a list of all Excel content stored in a repository, using Documentum Foundation Classes (DFC) and the .NET Primary Interop Assemblies (PIA).
Source control location: Trunk/Documentum/Documentum/CWFormatGuidelines

7. A general utility application, but using the deprecated DFC and PIA
a) The method mDoButtonClick gathers all the objects under one cabinet and moves them to another.
b) The method mProcessExcelButtonClick loads information from an Excel spreadsheet which contains a range of cells named FormatGuidelinesTable and moves Documentum objects between folders based on the spreadsheet’s information.
Source control location: Trunk/Documentum/Documentum/CWFormatGuidelines2

8. Moving objects between cabinets
A sample Windows Presentation Foundation (WPF) application that moves objects from one cabinet to another. It assumes a matching folder structure.
Source control location: Trunk/Documentum/Documentum/CWMoveFormat_Guidelines

GAME CONTENT SERVICES
My submission to the EMC Developer Network's Monster Mash 2010 competition. It provides a submission and retrieval workflow utilizing Documentum, xDB, Atmos online, WCF, C#.NET and XNA Framework. It has also been published on this official EMC site.. This code also won the grand prize and best Documentum xCP mashup prize at the EMC Developer Network Monster Mash 2010 Contest.
Source control location: Trunk/EDNMonsterMash_2010

DOCUMENTUM DEVELOPMENT UTILITY
An utility to help developers write DQL queries and experiment with the syntax to tweak performance.
Source control location: Trunk/D6/DocumentumDevUtility

TO DOWNLOADERS OF MY CODE:
Would you please add some feedback in the discussions area indicating why you are downloading my code? It would help me improve and add more sample code valuable to you.

Last edited Nov 8, 2010 at 1:39 AM by derrick, version 19