This Quick Start guide is a special supplement to the Documentum Foundation
Services 6 SP1 Development Guide. Packaged with this guide you will find
updates to the Java and .NET samples that were originally provided on the DFS 6
SP1 SDK. The following chapters provide step.by.step instructions to get you up
and running as quickly as possible, so that you can start right in developing
your own DFS consumer applications.
 |
This is a searchable version of the code samples that get distributed with
the DFS SDK. Use the EDN deep code search to look for code snippets within the
samples or download individual files or download individual code files.
 |
Understanding Webtop's design decisions and making small changes to the
interface are great ways to get started with the Web Development Kit (WDK).
Dennis Dawson continues his series of articles and narrated slide decks to give
new developers a gentle, plain English introduction to WDK customizations. The
newest installments wrap up the series by covering Changing Column Layouts and
Creating Custom Components .
 |
When creating custom applications to work with eRoom, sometimes you can not
use SAAPI as those applications must be run on the eRoom Server itself. You may
have multiple eRoom Servers or may need to gather information from an
application not running on the eRoom Server, such as a portal. In those cases,
you should consider using eRoom XML.
 |
These examples illustrate the DFC Search Service API. They consist of
several Java web-applications based on the DFC: from a simple single repository
application to a complex AJAX based, multi-repositories (including external
sources and eRooms) search application. This presentation was initially
developed for EMC Software Developer Conference in November 2006.
 |
Webtop displays an object's properties in a dialog box with a scrollbar.
This makes is difficult to print the properties because the browser only prints
the properties that are currently visible in the window. This article discusses
a method of creating a 'Print View' of a repository object's properties in
WDK/Webtop.
 |
Dennis Dawson presents a series of articles and slide decks (with narration)
to help you get started with the Web Development Kit (WDK). The series begins
with a gentle introduction, in practical terms, to the components used to
create Webtop. In a way, Webtop is our best sample WDK application, because it
shows the EMC view of how components should be implemented. Understanding
Webtop design decisions and making small UI changes are great ways to begin WDK
development.
 |
With the release of 5.3 and the Web Services Framework (WSF), Documentum has
provided the tools to develop and deploy web services with a minimal learning
curve. The WSF is integrated into the Documentum product suite, and Service
Based Objects (SBO) can be exposed as web services transparently from within
Application Builder. However, mastering web service design, implementation, and
deployment requires a deeper understanding of the architecture and toolset. The
purpose of this article is to take you beyond the published documentation, and
explore the more advanced features of the WSF.
 |
Web services are often used to integrate with systems external to an
organization, which quickly leads security-minded administrators to voice
concerns about the plain-text nature of the SOAP protocol. This concern should
not to be taken lightly, considering that both authentication credentials and
potentially sensitive business data will be transmitted across the public
internet. This article looks at how you can secure your Web services.
 |
With the release of 5.3 and the Web Services Framework (WSF), Documentum has
provided the tools to develop and deploy web services with a minimal learning
curve. However, the system documentation focuses on the web service provider,
and does not go into detail on developing the consumer. The client consumer is
an essential part of the web service equation, and can be a challenge for the
developer or integrator who is tasked with generating the initial
proof-of-concept for an external group, often in a non-Java programming
language.In this article, I will focus on the consumer side of web services and
detail the steps needed to generate web service clients in Java, C#, VB.NET,
Visual Basic for Applications, and Perl.
 |
In Web Publisher, when users create new content using a template, besides
placing the content in the folder based on Folder map, an extra link to the
content is created at the current location. This customization removes this
created duplicate folder.
 |
DFC comes bundled with default implementations for the IDfPrincipalSupport
and IDfTrustManager interfaces. Thanks to the DFC team, we have managed to get
the source code these default implementations. This package includes their
source code. Developers can study the code to create their own custom
implementations of these interfaces to implement a custom authentication
mechanism or they can get a better understanding of these default
implementations. Note that the default implementations are already bundled with
DFC and it is not necessary to recompile them with your application.
 |
There have been several questions on the support forums regarding writing a
job method in Java. Based on experience with Java job methods, Joerg Krause has
collected sample code for performing this task. This zip file contains a docapp
containing the dm_method and dm_job objects as well as the corresponding Java
code.
 |
DFC 5.3 introduced the web services framework that allows a developer to
expose a Service-based Business Object(SBO) as a web service. This article
walks you through the process of enabling a SBO as a web service and then
consuming it from a .NET client.
 |
Crystal Report of Visual Studio .NET is the standard reporting tool for
Visual Studio .NET. You can host reports on web and windows platform and can
publish reports as Report Web services on the web server. This walkthrough
endeavors to explain how to report off ADO.NET DataSet using Visual Basic
.NET.
 |
The DFC method IDfSysObject#getContent() cannot be used from .NET because
this method returns a Java-specific object that cannot be translated to .NET.
This article looks at using a Service-based Business Object(SBO) to overcome
this and access the binary content from .NET.
 |
To help you move your Web Content Management (WCM) repository components
from one repository, usually testing, to another repository, usually production
you can download Web Publisher scripts, and use the instructions in the
Deploying Documentum Web Content Management Applications chapter in the
Documentum 5.3 System Deployment Guide.
 |
Imports a selected erm file to a specified facility in a specified
community.
 |
This article discusses the procedure for using Accelerated Content Services
(ACS) from DFC. Also included is the code sample for exporting a document using
DFC and ACS.
 |
This article discusses the process of displaying custom attribute columns in
the webtop object listing components such as objectlist and
homecabinet_classic. A sample implementation of the WDK interface com.documentum.web.form.control.databound.ICustomAttributeDataHandler,
used to display custom attributes, is provided.
 |
This article discusses the process of adding custom menu items to the
menubar in Webtop 5.3. The menubar JSP structure has changed slightly in Webtop
5.3 and this article would benefit developers trying to migrate from WDK 5.2.x
to 5.3.
 |
This article shows how to add an action to Webtop to launch the PDF
Annotation Services from the streamline view within the folder/browsing view
and from within the inbox view.
 |
This article discusses the process of enabling and using the Principal
Authentication mode from .NET.
 |
This document is intended for the eRoom Developer wishing to embrace .NET
and use that technology to extend the capabilities of eRoom using the products
extensions mechanism as well as interface with it from external applications
written in .NET. It contains a series of Architectural Patterns that will help
you think about how to structure your solution and provide you with concrete
examples and templates for implementing these patterns.
 |
EMC Documentum eRoom has developed integration with the Microsoft SharePoint
Portal to display eRoom Web Parts for strategic business solutions. Several
eRoom WebParts have been developed, such as My eRooms, My Tasks. Each part, is
designed for quick deployment into the Microsoft SharePoint with minimal
configuration, or can be customized to meet customer requirements. The eRoom
Web Parts for Microsoft SharePoint Portal will work with both - eRoom and eRoom
Enterprise
 |
These two sample ADO.NET projects highlight how to read content repository object metadata and display the results in a DataGrid. The ReadContentRepositoryMetaData project uses RepositoryDataReader to display the results, while the UsingRepositoryDataAdapterForMetaDataRetrieval project uses the RepositoryDataAdapter.
 |
This tool simplifies the creation of Web Publisher 5.3 Instruction Files. The included article walks you through the installation and use of this unsupported tool. Instruction Files are used to insert, delete, rename and update the elements and attributes of existing XML content.
 |
Documentum Compliance Manager (DCM) enables enterprises to create, review, revise, approve and distribute controlled content on-line within an audited environment. This article and the accompanying code illustrate how to customize the controlled document property screen, to override the promote behavior of a controlled document using Business Objects as well as demonstrating how to call DCM from outside of the standard Webtop-based client application.
 |
This article describes how you can build and use an XSL file with embedded XDQL to run a DQL query and output an RSS 2.0 file. This enables you to create RSS feeds listing the latest content from your repository, and reference it either by URL or DRL. The article is based on how we built our own RSS feed for the Documentum Developer Web Site.
 |
Traditionally a Site Caching Services publish is invoked through Web Publisher or DA by user action. This code sample describes how to invoke a Site Caching Services (SCS) publish using both IAPI and DFC.
 |
Various customizations to the Webtop Search and Advanced Search components have been collated in this document. These customizations include 'Changing the query of simple search' and 'Controlling attribute visibility in search results'
 |
Import resources, assignments, and more directly into your eRoom database from Microsoft Project. Also, import Microsoft Project tasks in to your eRoom as project schedule objects. This developer kit allows you to import information from Microsoft Project Professional without using CSV files. The kit also supports importing and exporting data from Microsoft Project Server using its web services interface.
 |
The eDK for Collaborative Search toolkit provides an integration framework between Documentum's eRoom and ECI Services products, permitting knowledge workers to leverage the automated search query capabilities of ECI Services within their collaborative project workspaces. The eDK for Collaborative Search demonstrates a bi-directional integration, enabling users to export query results from an ECI Services client into an eRoom as well as to conduct ECI Services search queries directly from within an eRoom. In both cases, the integration is designed to facilitate the process of sharing search results with project team members in order to pro-actively provide visibility and gather collaborative input on the results set. The toolkit contains eRoom templates, custom code samples, and documentation.
 |
With eRoom version 7.01 and above, the eRoom SAAPI can be used from Microsoft.NET languages. This technical paper and accompanying sample code outline guidelines for building .NET-based eRoom solutions using SAAPI.
 |
The 'Documentum eDK for Workflow' is comprised of a toolkit and sample application that enable you to develop scripts that can be launched from within Documentum Workflows, these scripts can perform tasks on an eRoom server. In particular, the toolkit provides resources for logging into and remotely executing tasks to create an eRoom, add members, create eRoom items or create object links. The eDK also allows you to check files out from a Content Server to an eRoom of check them in to a Content Server from an eRoom.
 |
EMC Documentum eRoom Enterprise ECM Extensions are 'plug and play' features
for eRoom Enterprise that allow users to access Content Server functionality.
Many of these features utilize the Webtop server components. There are seven
features and the source code is available exclusively from the Documentum
Developer Web site. This has been made available so you can customize these
extensions or use them as examples to build your own extensions
 |
The eRoom v7 Community Guest Dump script outputs information for all guests in a community on an eRoom v7 Server. The guest information is output as comma-delimited text and is written to a user specified output file.
 |
The eRoom v7 Community Member Dump script outputs information for all members in a community on an eRoom v7 Server. The member information is output as comma-delimited text and is written to a user specified output file.
 |
The eRoom v6 Facility Export script exports a single facility on the eRoom v6 Server to a '.erf' export file.
 |
The eRoom v7 Room Import script imports a single room into a user-specified facility on the eRoom v7 Server.
 |
This sample Java code can be invoked as a workflow server method. When executed as part of an automatic activity it will promote the workflow's object to the next stage in its lifecycle.
 |
The eRoom v6 Facility Export script exports a single facility on the eRoom v6 Server to a '.erf' export file.
 |
The eRoom v6 Facility Import Script imports a single facility onto the eRoom v6 Server from a previously generated '.erf' file.
 |
The eRoom v6 Facility Member Dump script outputs information for all members in a facility on an eRoom v6 Server. The member information is output as comma-delimited text and is written to a user specified output file.
 |
The eRoom v6 SML Member Dump script outputs information for all members on the Server Member List (SML) of an eRoom v6 Server. The member information is output as comma-delimited text and is written to a user specified output file.
 |
This eRoom v6 XML Samples zip file contains sample XML queries and an XML test application. The examples illustrate how to perform many commonly requested functions including creating and deleting eRooms, members and items as well as getting and setting properties of rooms, facilities and types.
Updated January 2005 to include new version of SoapTest.exe
 |
eRoom V4 & V5 had the ability to run event based applications through the SEAPI. These were asynchronous events with a programmed notification interval. V6 gives us the ability to do real-time event based applications on a handful of events for things like file created, file replaced, login, login failed, check password and database row changed . These sync events allow us to respond to user behavior either before or after the event has been committed to the eRoom server.
 |
This application monitors the different types of events being raised by the Documentum Desktop and displays the event content. The event can optionally be logged to a file for analysis.
 |
This sample Epicentric module illustrates how the eRoom functionality can be exposed from within your corporate portal application. The package includes installation instructions, an overview and EULA.
 |
Through the use of optional Plumtree Gadgets, the collaborative features of the eRoom Digital Workplace may be integrated with a Plumtree portal. Through integration with eRoom, users can collaborate on documents, set up individualized work places, discuss key information, set project goals and schedules and perform all other eRoom-related activities in the Portal environment. The package includes installation instructions, an overview and EULA.
 |
This iView allows the user to enter eRoom credentials as well as the name of an eRoom facility and it will display the list of eRooms to which the user has visibility/access. This iView can be customized by clicking on the 'Edit Personalization' Link icon in the title bar of the iView. The My eRooms display includes the name of each room, with a hyperlink to that room, the status, owner, number of active users, eRoom description and, if the eRoom has new information for the designated user, as indicated by the red tick mark. The package includes installation instructions, an overview and EULA.
 |
Interactive DFC is a tool used by Documentum engineers in QA, development and Tech Support for ad hoc testing of the Documentum Foundation Class Library (DFC). The tool lets you browse, and search, for methods and then invoke the methods capturing the output and trace information.
 |
Compiling WDK source code from the command-line is not a simple issue because of classpaths, target directories and packages. This handy little batch file is used by our developers to compile their code. Simply edit the variables in the batch file and then run it from the command line.
 |
This sample creates an XML Application for a Cellular Phone Catalog. The updated release shows how to use XDQL to create a new XML document with the query results. This is a good example of how to create and configure XML Applications and also contains some UI components for XMetaL.
This DocApp is for DFC version 4.x only, a DocApp for version 5.x is also available for download from this page.
 |
This article forms part of the pharmaceutical labeling sample application built to illustrate the power of WebTop and WDK as a development platform.
Having recognized that a file is XML this component will display the XML in a form 'TEXTAREA' control for viewing or editing. Our XML editing partners will not worry about this component as competition in their space however it is a great example of a simple but effective customization.
 |
This article forms part of the pharmaceutical labeling sample application built to illustrate the power of Webtop and WDK as a development platform. As well as adding the necessary UI enhancements to support the labeling functionality we also simplified some of the advanced features.
 |
This sample WebPublisher 4.4 code will allow you to call WebPublisher from a portal without requiring another login. The code is unsupported but has been used in demos and training classes successfully. Installation instructions are included in the zip file.
 |
In this, the third article in our series on vertical industry applications of Documentum XML Content Management, we address the benefits of Documentum used in an XML environment in the Financial Industry. Specifically, we show how industry analysts can create, manage, and repurpose research content for various documents such as Research Report and Morning Call using XML with Documentum.
 |
Where to put what, when and how.
We have had a few requests for a Web Publisher code sample that just implements the simplest possible XDQL report with a step-by-step guide to using it. So here it is!
 |
This article shows how to extend the functionality of the eContentServer using DFC, and automatically execute the method from an activity as part of a Workflow. We will write a new Java Class (runTransformation), which implements the methods and logic needed to perform an XML Transform operation on the server. This is a generic class that can be run out-of-the-box. This class can also be executed from the command line, directly on the server, or automatically from within a workflow
 |
This article is the second in our ongoing series of articles focusing on the application of XML and Documentum to business processes in different industry sectors. In this article, we discuss how we built an XML Application for the creation and management of labels for the Pharmaceutical industry. As a critical and highly regulated process, with a high degree of reuse, a formalized workflow, and a great volume of data, labeling lends itself well to the best features of XML Content Management in Documentum. In addition, we hope the article will serve a wider audience, as the principles of creating an XML Application and an associated DocApp remain the same across all verticals.
 |
This overview document, sample code and Javadocs provide a guide to developers using the Documentum Media Services component. A working knowledge of the Java programming language and the Documentum DFC packages is recommended before reading this guide.
 |
This Java code sample demonstrates how to programmatically set the Docbroker during login using the getClientConfig method. The getClientConfig method lets you get and set information relating to your client configuration object; it maps directly to the API Config object.
 |
All of the stylesheets, XDQL samples, XML applications, Â Desktop Client components and templates which we use to manage our Web site are available to you for downloading. For convenience we have assembled all of the downloadable components onto one page.
 |
This example is the actual XSLT that is used by the Documentum Developer Program to create a PDF version of the sample code page.
In other examples posted to this site, we've shown how we use XDQL to create an intermediate XML file containing content chunks. Then
we use XSLT to create our target Web pages. In this example, instead of creating HTML, we show how to use XSL:FO to create a PDF.
 |
You have probably invested a large amount of time and effort in building the taxonomy describing
the relationships that exist within your company. Using the BSS API you can use this established
and accurate taxonomy to create filtered drop down lists in your applications. This ensures that
your application's drop down lists always have the correct values available.
 |
A common task when generating HTML pages is to list the contents at the top of the page. Each list item then contains
a link to the actual content. This zip file contains an XSL stylesheet that shows how to use the i_chronicle_id of the
content objects as the anchor href. An example XML source file containing XDQL and an example XML content file
are also included.
 |
Your company may have invested a large amount of time and effort in building a taxonomy
describing the relationships that exist within your company. Using the CIS API you can
use this taxonomy to populate your data dictionary. Synchronizing your data dictionary
with your company's taxonomy ensures that your object's
attributes always have valid values.
 |
These two examples show how to take a source XML document that contains an XDQL query and
transform them directly into HTML. One example imports an XSL file containing the
templates and runs and processes the XDQL query inside the query template. The other
example uses <xsl:call-template> to call a template to execute the query and then converts the
resulting tree fragment to a nodeset so that it can be processed. Updated for DFC version 4.2.13.
 |
These two Java examples were provided by Flatirons Solutions.
One shows how run an XDQL query and return the results as an XML document. The other shows how
to perform a transformation using DFC. For an in-depth discussion of XDQL, see the
XDQL Technical Brief
on the Flatirons Web site.
 |
Autorender Pro is configured to handle most common document formats. However, if you
encounter a format that is not supported out-of-the-box, this Visual Basic example will show
you how to extend Autorender Pro functionality using a plugin. The example supplied enables
Autorender Pro to render JPG to PDF.
 |
This Microsoft Word Macro demonstrates how to insert and delete menu items from Microsoft Word.
Specifically, it illustrates how to delete the 'Save' and 'Save As' menu items and inserts numerous
Documentum items including NewFromDocbaseTemplate, CheckInAsNew.
 |
JDBC is a Java based, industry standard method for accessing relational data sources. Using the Documentum eConnector™ for JDBC, applications written in Java can execute DQL statements, retrieve results and propagate changes back to an underlying Docbase. If you are familiar with the Docbase Server API and the JDBC CallableStatement then you can also execute API commands using the driver.
 |
Fetching attribute information is expensive in DFC prior to version 5.0. For this reason,
it's a good idea to cache attribute information in your application for those attributes
that are accessed frequently. These two code samples show how you can cache attribute data locally.
 |
Web services offer the potential for creating highly dynamic and versatile distributed
applications that span technological and business boundaries, allowing service providers
and service consumers to improve the way they do business.
This document can be used as a tutorial to create web services on the Documentum
Platform. The sample code referenced in the document also contains some excellent DFC workflow examples, it is available for download.
For reference, we also include a link to Deploying Web Services which was
presented at Momentum 2001.
 |
Updated August 2003 to account for the change in configurable properties in v5.2.
This sample creates an XML Application for a Cellular Phone Catalog. The updated release shows how to use XDQL to create a new XML document with the query results. This is a good example of how to create and configure XML Applications and also contains some UI components for XMetaL.
This DocApp is for DFC version 5.x only, a DocApp for version 4.x is also available for download from this page.  |
We have two resources to illustrate the XML transform process. The first is
a small Java program that shows how to call IDfXMLTransformOperation, the second is a
zip file that contains a dll and source code to add a Transform menu item to DeskTop
Client. The transform component uses IDfXMLTransformOperation to perform the
actual transformation. Download the Java example, the instructions
and the zip file.
 |
This zip file contains Visual Basic code and Java classes that illustrate how to use IDfQuery against a specified number of sessions asynchronously (including across multiple Documentum repositories) and collate the results.  |
The Accelera WCM demo showcases the Documentum family of Web content management (WCM) products. It is a complete, working WCM solution
based on a fictional cellular communications company, Accelera Worldwide. It is designed to demonstrate the complete Web publishing lifecycle from
content authoring to final publishing. The Accelera demo illustrates the usage and function of the following Documentum WCM products: WebPublisher , WebCache ,
Content Intelligence Services (CIS) and the ftpIntegrator.
Note: This demo was updated with expanded functionality and configuration capabilities in April, 2002.
 |
Programmatically create a Business Policy Object, (aka Lifecycle), using Docbasic. This script creates a
Business Policy object with 3 normal states and 1 exception state then validates and installs the policy.
Optionally, attach the policy to an object and promote, demote, suspend and resume.  |
Programmatically create a Workflow in Docbasic. This script creates a Workflow with 5 different activities
each with a different set of options.
 |
Microsoft Office Integration Source Code:
Many of you have asked for the source code to our integration with Microsoft Office so that you can customize the behavior of the integration. This code also serves as good C++ programming examples. The license key is the same as for Developer Studio. Please note: this code is unsupported and sparsely documented.
Download v4.1, download the
v4.1F Patch Release.
 |
We've identified the most frequently used DFC methods and
enhanced the JavaDocs documentation (Updated 3/27/02)
with example code snippets. The Javadocs are available in both
PDF and HTML formats.
 |
Both the IDfOperation and the IDfSysObject interfaces provide methods for
high-level library operations such as checkin and checkout. The methods in the
operations package perform additional work, such as writing to the registry and are used
when your code interacts with Desktop Client components. This download contains Java examples for the
checkin, checkout, cancel checkout, copy, delete, import, and export methods od IDfOperation.
 |
This sample Visual Basic application illustrates how to use the DFC RunQuery method to
develop your own search functionality. RunQuery takes a Docbase name and DQL string and
runs the given query in the Docbase displaying the results in an Explorer window. The user
then has full access to all of the Explorer functionality on the result set.
 |
This zip file contains a skeleton Visual Basic Application to use as a starting point for
your own VB Applications. The example works with DMCL32.dll or DMCL40.dll.
Download the Visual Basic DMCL Example.
 |
Monitor the number of active and inactive sessions for the eContent server
This dmbasic script monitors the number of active and inactive sessions for the eContent server.
It is especially useful for monitoring the level of activity for a Docbase and determining when
and how busy the busy hours are.
 |
This Sample Java Program
validates the Java and DFC environment for your computer. It returns system property information on the OS and Java environment including the CLASSPATH. Then, it connects to the Docbase and retrieves some system information including DFC and eContent Server versions. As well as being a good Java-DFC example it is also a useful tool to troubleshoot environmental issues regarding Documentum, Java, or DFC.
 |
This Docbasic example (run through a server method) records workflow history. On completion of the workflow the name of the last action owner of each activity is added to attributes of the documents in the workflow package.
 |
The wdkPublish sample application demonstrates an application that presents role-based user interfaces
and functionality. The four roles that are configured in the sample application implement the
3C model in the Docbase (consumer, coordinator, contributor and administrator).
This sample application is deployed from the .war file on your JSP server. Follow the instructions for deployment in your WDK 4.2 release notes.
 |
This application contains a suite of test pages that exercise most of the functionality in WDK.
From the main page, you can test single JSP pages or Java classes, run the entire test suite,
and view the test logs. Download wdkTest.
and the deployment instructions.
 |
This technical presentation provides an architectural overview of Documentum's JDBC driver, an explanation of how it is used and several code snippets. Download the JDBC Quick Start Guide, or download the eConnector.  |
Extracted from the WDK 4.2 on-line help these code samples illustrate how to build custom WDK components by extending the WDK Java models and views. You will see how to implement a model interface then how to extend DwView to create a custom view and use your new model as source for this view.  |
Use the vdmpath method to determine the path to a component in a virtual document. Given a
Docbase id, this method returns the index, id, iChronicleId and name of each component in the path
to the component id entered.
 |
We've put together several sample DFC
examples to illustrate how to add common content management
functions to your applications. The examples are provided in both Java and Visual Basic. A driver program is provided with a user interface that shows the list of samples and
the classes used in each sample. The samples can be executed from
driver program.
Show me how
the driver works, download
Java DFC
examples, download
Visual Basic DFC examples.
 |