Documentum Composer 7.2 User Guide
Documentum Composer 7.2 User Guide
Composer
Version 7.2
User Guide
EMC Corporation
Corporate Headquarters:
Hopkinton, MA 01748–9103
1–508–435–1000
www.EMC.com
Legal Notice
Copyright ©1994-2015 EMC Corporation. All rights reserved.
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change without
notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." EMC CORPORATION MAKES NO
REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION,
AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicable software license.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com. Adobe and Adobe PDF
Library are trademarks or registered trademarks of Adobe Systems Inc. in the U.S. and other countries. All other trademarks used
herein are the property of their respective owners.
Documentation Feedback
Your opinion matters. We want to hear from you regarding our product documentation. If you have feedback about how we can
make our documentation better or easier to use, please send us your feedback directly at [email protected].
Table of Contents
This guide describes how to use Documentum Composer to develop enterprise applications and
deploy these applications on Documentum Content Server.
Intended audience
This guide is for users who are developing applications for Documentum Content Server. This
guide assumes that the user has a basic understanding of the Documentum platform and content
management.
Typographic conventions
The following table describes the typographic conventions used in this guide.
Typeface Text type
Body normal In running text:
• Interface elements (button names, dialog boxes)
• Java classes, interface names
• Names of resources, attributes, pools, Boolean expressions, buttons,
DQL statements, keywords, and clauses, environment variables,
functions, menus, utilities
• Path names, URLs, filenames, directory names, computer names, links,
groups, service keys, file systems, environment variables (command
line and text), notifications
Body normal double quotes Chapter and section titles
Body Bold In procedures:
• User actions (what the user clicks, presses, selects, or types)
• Interface elements (button names, dialog boxes, page names)
• Key names
In running text:
• Command names, daemons, options, programs, processes, notifications,
system calls, man pages, services, applications, utilities, kernels
Body Italic • Book titles, emphasis (glossary terms, See also index references)
• Variables in text (outside of command sample)
Courier In procedures (if shown on a separate line), prompts, system output,
filenames, pathnames, URLs, syntax examples.
The Composer user interface provides for multiple navigations to various dialog boxes and screens.
For example, Composer enables you to access the New Alias Set dialog to create an alias set
artifact in one of the following ways:
• Right-click in the Documentum Navigator area and select New > Alias Set.
• From the Composer menu, select File > New > Alias Set.
• In your project, right-click the Artifacts folder, and select New > Alias Set.
• In your project, expand the Artifacts folder, right-click Alias Set, and select New > Alias Set.
• From the toolbar, click the down arrow button next to the Create a new Documentum Artifact
icon, and then select Alias Set from the list.
• From the Composer menu, select File > New > Other, expand the Documentum Artifact folder,
select Alias Set, and then click Next.
The various procedures in the EMC Documentum Composer User Guide generally show only one
navigation to a dialog box or screen. This is done intentionally.
Support information
Documentum’s technical support services are designed to make your deployment and management
of Documentum products as effective as possible. The Customer Guide to EMC Software Support
Services provides a thorough explanation of Documentum’s support services and policies. You can
download this document from the EMC Online Support website: https://support.emc.com.
Revision History
Introduction to Composer
Documentum Composer provides tools to create and customize applications for Documentum Content
Server. These applications specify how Content Server handles different types of content.
Composer is an Eclipse-based product, a stand-alone program built with the Eclipse platform. Since
Composer is a stand-alone program, it contains all the required code and plug-ins. Composer is
delivered in the form of a compressed .zip file that is extracted to a directory on the local development
machine.
Installing Composer
Documentum Composer is packaged as a compressed zip file that contains the Eclipse platform and all
required plug-ins. To install Documentum Composer, unzip the zip file to a directory of your choice.
Before installing Composer, ensure that you meet the following prerequisites:
• Documentum 5.3 SP6 or later repositories
• The supported version of Java JDK
The EMC Documentum 7.2 Environment and System Requirements Guide contains the current Java
JDK version update required for Composer.
To install Composer:
1. Extract the content of the DCTM_Composer_<version>.zip file to a directory on your local
machine. The system creates a directory named Composer.
2. Set the JAVA_HOME environment variable on your local machine to point to your installation of
Java JDK. For example, if the Java JDK is installed in C:\Program Files\Java\jdk_directory, set the
JAVA_HOME variable to that path.
3. Edit the
<composer_root>\plugins\com.emc.ide.external.dfc_1.0.0\documentum.config\dfc.properties
file and add the connection broker information, like the following:
dfc.docbroker.host[0]=[Repository IP address or host name]
To work with lightweight SysObjects, install the lightweight SysObject plug-in as described in
Installing the lightweight SysObject plug-in, page 13.
1. Go to the ..\Composer installation directory on the machine where you extracted the Composer
.zip file and double-click composer.exe.
When you start Composer for the first time, you see the Workspace Launcher dialog where you
select the location of your workspace.
The workspace is where Composer stores all of the source files and dependencies for your projects.
You can have more than one workspace in Composer, for example for different projects, but an
individual project can be stored only in one workspace.
2. Accept the default location for your workspace or enter a new location in the Workspace field
then click OK.
The Composer workbench appears.
6. Click OK to verify that the new JRE is on the Installed JREs page and ensure that it is selected.
7. Select Java > Compiler from the tree on the left and set the Compiler compliance level to the
supported Java version.
8. Click OK to save your changes.
Note: The update requires a connection to the internet to download the Eclipse <language name>
language pack. To ensure that Composer can access the internet, configure your firewall and
proxy settings, as applicable
8. Click the Add... button.
The Add site window appears.
9. Type
http://download.eclipse.org/technology/babel/update-site/R0.11.0/indigo
in the Location field and click OK
10. Select and collapse the http://download.eclipse.org/technology/babel/update-site/R0.11.0/indigo
node. If the child node says Pending... , wait for few minutes for the language pack components to
populate. When it is complete, the Install... button is enabled.
11. Expand the Babel Language Pack for eclipse node. If the child node says Pending..., wait for
few minutes for the language pack components to populate. When it is complete, select Babel
Language Pack for eclipse in Japanese and complete installation.
12. Click the Install... button to complete the installation of the language pack.
13. When the installation is complete, exit Composer.
14. Use the command line to run Composer from the Composer installation root: composer -nl
<languagename>. For example, to localize Composer in the Japanese language, run the
command composer -nl ja.
Managing Projects
Composer projects
A Composer project specifies the objects that make up an application. Therefore, create a project
before you start to develop a new application.
A project consists of a project folder and a number of subfolders that contain the artifacts, such as
lifecycles, permission sets, jobs, and others. Composer artifacts, page 25 contains a complete list of
artifacts. A Composer project is marked with an icon.
There are several ways to create a Composer project:
• Create an empty project as described in Creating a project, page 19.
• Import an existing project into Composer as described in Importing a project, page 21.
• Create a Composer project from a local 5.3 DocApp archive as described in Converting a DocApp
archive, page 40.
• Create a Composer project from a 5.3 DocApp, as described in Converting a DocApp to a Composer
project, page 38.
Note: Newer versions of Composer cannot use workspaces created by an older version of Composer.
Create a workspace first and then import projects from the old workspace into the new workspace.
Creating a project
Create a project whenever you want to create an application from scratch.
To create a project:
1. Right-click in the Documentum Navigator area and select New > Documentum Project.
The New Documentum Project dialog appears.
2. Type a name for your project in the Project Name field, type an optional description, and then
click Next.
The Referenced projects dialog appears.
3. Select projects to designate them as reference projects and click Finish. Composer reference
projects, page 22 provides more information about reference projects.
Note: If a dialog box prompts you to select the associated Documentum Artifacts perspective,
click Yes.
Composer creates the project and displays it in the Documentum Navigator view.
• src: The src folder is used to store source files that you want to add to your project. By default, the
src folder is empty when you create a project.
• Web Services: The Web Services folder contains Web services files, such as client libraries, WSDL
files, and source code files. By default, the Web Services folder is empty when you create a project.
Importing a project
This section describes how to import projects from a local directory. You can import existing projects
from a local directory into the Composer workspace. If you use a source control system to manage
your files, check out the project from the source control system before importing it into Composer.
Using a source control system, page 211 provides more information about how to use Composer
with a source control system.
Note: You cannot import a DAR file into a project. A DAR file is the executable version of a project
that gets installed in a Documentum repository. A DAR file contains only the binary files of a project
but not the source files.
To import an existing project:
1. Right-click in the Documentum Navigator area and select Import > Existing Projects into
Workspace.
The Import Projects dialog appears.
2. Select Select root directory and type the project directory or click Browse to search for the
directory.
Composer displays the available projects in the Projects list box.
Note: The Select archive file option is not supported in Composer 7.2.
3. Select one or more projects to import and select Copy projects into workspace, then click Finish
to import the projects.
Composer imports the projects and displays them in the Documentum Navigator view.
Note: If you use source control, do not use the Copy projects into workspace option.Composer
does not support importing renditions of documents.
Type name is invalid. Type names must not begin with ’dm’. For
more information, see the ’Reference projects’ section in the EMC
Documentum Composer User Guide.
If this error occurs, delete the newly-imported artifacts, import and designate the appropriate
projects as reference projects, and import the desired artifacts again.
• If you import an artifact that indirectly references a dm artifact, import the project that contains
the dm artifact and designate it as a reference project. For example, if you import a type named
my_child_type that depends on a type named my_parent_type that depends on a dm type, then
download the project that contains the dm type, import it into your workspace, and designate it
as a reference project.
• The previous points also apply to converting DocApps and DocApp archives. If the DocApp or
DocApp archive uses or extends dm artifacts that are not in DocumentumCoreProject, import
all required Documentum-supplied reference projects into your workspace before converting
the DocApp or DocApp archive. During the conversion, Composer prompts you to specify the
necessary reference projects.
2. Import the .zip file of the reference project into your Composer workspace as described in
Importing a project, page 21. When the import is complete, the project appears in the Documentum
Navigator view of Composer.
3. Create a project from scratch or from a DocApp or DocApp archive. When prompted, designate
the appropriate reference projects.
• To create a project from scratch, see Creating a project, page 19.
• To create a Composer project from a 5.3 DocApp, see Converting a DocApp to a Composer
project, page 38.
• To create a Composer project from a local 5.3 DocApp archive, see Converting a DocApp
archive, page 40.
Composer artifacts
Artifacts are Documentum resources, such as object types, modules, methods, permission sets, and
procedures. You can create artifacts in Composer or you can import artifacts from existing repositories.
Documentum Composer offers various artifacts as shown in the following table:
Creating an artifact
Use the artifact wizard to create an artifact.
To create an artifact:
1. Right-click in the Documentum Navigator area and select New > Other.
The Select a wizard dialog appears.
2. Double-click the Documentum Artifact folder to expand it, select the artifact that you want to
create from the artifact list, then click Next.
The New [artifact type] dialog appears, where [artifact type] is the artifact name that you
previously selected. For example, if you selected Alias Set from the artifact list, the New Alias Set
dialog appears.
3. Specify the folder in which you want to create the artifact in the Folder field or accept the default
folder.
NoteAlways create an artifact in the Artifacts folder. If you create an artifact directly under the
project root, the artifact is not installed properly in the repository.
4. Type a name for the artifact in the Artifact name field or accept the default artifact name. The
default artifact name varies depending on the type of artifact you are creating.
5. Click Finish.
The editor for the new artifact appears. For more information about the individual artifact editors
and how to configure the properties for each artifact, refer to the associated chapters in this guide.
Note: Composer supports copying and pasting of artifacts only within the same project. You cannot
copy artifacts from other projects.
Importing artifacts
Documentum Composer lets you import individual artifacts from a repository into an existing project.
Before importing artifacts, make sure to import and reference all relevant Composer projects that are
needed for the artifacts that you are importing. If the artifact that you are importing depends on other
artifacts that are not in your project or reference projects, Composer tries to import all other required
artifacts from the repository. Composer reference projects, page 22 provides instructions to create
references between projects.
Note: You can only import artifacts from a repository. You cannot import artifacts from a local
project into another local project.
To import individual artifacts:
1. Right-click in the Documentum Navigator area and select Import > Artifacts from Repository
from the pop-up menu.
The Project Selection and Repository Login dialog appears.
2. Enter the project and repository information as described in the following table and then click
Login.
Properties Description
Project name The name of an existing project into which the artifacts are
imported. If you do not have an existing project, create a project
before you can import any artifacts. Creating a project, page 19
provides more information about creating a project.
Properties Description
Repository name The name of the repository that contains the artifacts.
User name The name used to log in to the repository that contains the
artifacts.
Password The password used to log in to the repository that contains the
artifacts.
Domain The domain name of the repository. If the repository resides in
a different domain than the client from which the repository is
accessed, specify the domain name.
If the login credentials for the repository are correct, you are logged in to the repository.
3. Click Next.
The Artifact Selection dialog appears.
4. Select the artifact object type from the Choose Artifact Type list. The available artifacts of that
type appear in the Choose From Available Artifacts list.
When you click on some of the available artifacts, such as FormTemplate, the Properties section
appears and displays information about the selected artifact, such as name and value.
5. Select one or more objects from the Choose From Available Artifacts list, then click Add.
Note: Composer lists only user-defined objects and not objects created by Content Server when
a repository is configured.
6. When you are done selecting artifacts, click Finish to import the artifacts from the repository. The
artifacts are imported into the project.
Note: If you do the following, you get duplicate artifacts in two different locations in your project:
1. Import an artifact from a repository.
2. Move the artifact to a different location within the project.
3. Import the artifact from the repository again.
Before installing the DAR or Composer project with the localized data dictionary, enable the required
locale in the repository. When a repository is created, a set of data dictionary information is loaded,
based on the Content Server host locale. If the host locale is Russian, Arabic, Japanese, Korean, or
Simplified Chinese, the data dictionary information for that locale is loaded during repository creation.
Otherwise, the host locale is always English. To add a locale, use the population script provided by
Documentum. You can populate and publish the data dictionary file by following the procedures
located in the "Populating and Publishing the Data Dictionary" appendix in the EMC Documentum
Content Server Administration and Configuration Guide.
To localize a Composer project:
1. For each type in the project, do the following:
a. In the Attributes tab, expand an attribute node and click Application Interface Display. The
General section appears to the right.
b. In the General section, ensure that a value for the Label field is specified.
c. Complete steps a and b for every attribute.
d. In the Display tab, ensure that a value for the Type label field is specified.
2. In the Documentum Navigator view, right-click the project that contains the types that you want
to localize.
3. Select Generate Localization Template from the drop-down list.
Composer generates a locales directory under the project root directory. By default, the locales
directory contains an English en folder that has the same Artifacts directory structure as the
main project folder.
The Artifacts folder in the locales directory lists the artifacts that contain the data that can be
localized.
If you import a project that is a different locale than the version of Composer that you are using,
the localizable information in the project is still associated with the locale where it was originally
created. The Composer that you are currently using still displays the changes and additions in the
original locale. The localization template is also generated in the original locale.
4. If you have BOF JAR files or Java libraries that require localization, copy the English version of
these JAR files into the appropriate directories in the locales/<lang>/Artifacts directory. The
JAR file must contain the .properties files with the localizable strings. For example, if you had a
type-based object (TBO) named my_tbo in your Composer project and generated a localization
template, a corresponding locales/<lang>/Artifacts/JARs/Modules/TBO/my_tbo directory would
be created so that you can place a localizable JAR file into it. If you do not have any localizable
content for your BOF JAR files or Java libraries, delete the directories that you do not need.
Composer generates the directories for BOF objects or JAR libraries even if the JAR file does not
contain any localizable data. The directories that are created are described in the following list:
• For a Library JAR: locales/<lang>/Artifacts/Java Libraries/<library name>/
• For a standard Module JAR: locales/<lang>/Artifacts/[Standard Module]/<module name>
• For a TBO/SBO Module JAR: locales/<lang>/Artifacts/TBO/<module name>
• For another (typed) Module JAR: locales/<lang>/Artifacts/<module type name>/<module
name>
Note: When localizing the .properties files in your JAR files, append the locale string to the English
.properties filename. For example, if the English .properties filename is localizedStrings.properties,
name the localized file localizedStrings_ja.properties if you are translating to Japanese. Name the
localized JAR filename the same as the English JAR filename.
5. Make a copy of the complete en folder under the locales directory and rename the folder to the
language locale you want to make available. For example, if you want to provide German labels
for your application, create a de folder, as shown in the following:
If you are sending out the .properties files for translation, use the following procedure to export the
files:
a. In Composer, navigate to File > Export.
The Export dialog appears.
c. Expand the project that contains the locales folder that you want to export, then select the
language locales, for example de.
d. Enter the directory to which you want to export the files in the To directory field.
e. Select the Create directory structure for files option, then click Finish.
Composer exports the content of the directory structure and content of language locales folder to
the selected directory on the local machine. Deliver the files to the translation team.
The translation team translates the strings on the right side of the equal sign (=) in the .properties file
in the locales folder. Do not change the locales folder directory structure or .properties filenames.
c. Enter the directory path to the project folder that contains the locales folder with the translated
files in the From directory field.
Installing a project, page 191 provides information about how to install your project.
When your project is installed in a repository, the new language strings are automatically merged
and the new language becomes available in the repository.
Note: Do not change labels, descriptions, or tabs, or move the .properties file after you create
the localization template because the new language strings might not merge properly. If you
rename labels and other localizable application data, regenerate the localization template before
you translate the strings.
Enabling tracing
You can enable tracing to monitor processes, for example when building or importing a project. By
default, Eclipse has tracing disabled.
Note: Because it impacts Composer performance, use tracing for debugging purposes only.
To enable tracing:
3. Select Trace Messages and Copy Messages to Eclipse ILog, then click OK.
By default, Composer stores all error log files in the .metadata subdirectory of the workspace.
4. Enter your login credentials for the repository that contains the DocApp that you want to import, as
described in the following table and then click Login.
Properties Description
Repository Required parameter. The name of the repository.
You must have SUPERUSER privileges to access the repository.
User name The user name for the repository.
Password The password for the repository.
Domain The domain name of the repository. If the repository resides in
a different domain than the client from which the repository is
accessed, specify the domain.
6. Select the DocApp that you want to convert from the listbox, then click Next.
The New Documentum Project appears.
7. Accept the default project name or enter a new name and an optional description for your project,
then click Next.
The Referenced Projects dialog appears.
8. Select the projects that your project references and click Finish.
Composer imports the DocApp and creates a project. The new project appears in the Documentum
Navigator view.
Properties Description
DocApp Archive folder Required parameter. The folder that contains the unzipped
DocApp archive. Type the path name or click Browse to search
for the folder.
Project name Required parameter. The name of the project into which the
DocApp is imported. By default, the project name is derived
from the DocApp name. You can accept the default name or
enter a new name for the project.
4. Enter the migration repository information for the target repository, as described in the following
table:
Properties Description
Repository Required parameter. The name of the target repository.
The target repository must be a clean repository. It is used to
install the DocApp archive before it is imported into Composer
as a new project. You must have SUPERUSER privileges to
access the target repository.
User name The user name for the target repository
Password The password for the target repository.
Domain The domain name of the target repository. If the target repository
resides in a different domain than the client from which the
repository is accessed, specify the domain name.
5. After you enter the target repository name and your login credentials, click Login. If your login
credentials are valid, the Next button becomes available. Click Next.
6. Select projects to designate as reference projects and click Finish to start the conversion process.
Composer creates a project from the DocApp and the project appears in the Documentum Navigator
view.
Post-conversion tasks
After Composer converts the DocApp or DocApp archive into a Composer project, complete the
following steps:
• Review and correct validation warnings and errors that occurred during the conversion.
• Verify that all artifacts contained in the DocApp were converted and appear in the Composer project.
• Review pre-install and post-install scripts.
You might have to modify certain scripts to avoid artifact duplication or conflicts. For example,
Composer creates install parameters for users. The pre-install script must create these users or the
users must exist in the target repository where the project is to be installed.
• TaskSpace
• Process Reporting Services
• Process Analyzer (optional add-on, licensed separately)
• xCP Designer
In the context of xCP, Composer is used mainly as a packaging and deployment tool for TaskSpace
applications or xCP 1.x artifacts. TaskSpace applications serve as a container for related xCP 1.x
artifacts, which can then be imported into Composer as projects and packaged as DAR files.
Note: Composer does not support importing xCP 2.x artifacts because the artifacts listed in Sysobjects
do not have proper object names. In addition, when the artifacts are installed on another docbase
the references are lost.
To associate all of the contents under Folder1, add Folder1 to the TaskSpace application. To
associate only the subfolder1 contents, add only subfolder1 to the TaskSpace application.
• If you are importing a TaskSpace application, some content and artifacts are not imported. Manually
import the following items:
– ACLs and ACL templates (Composer creates installation parameters for the ACLs and ACL
templates, but does not import the artifacts themselves.)
– A group’s children groups
– Groups and roles that are used in a workflow template
– Alias sets that a process references
– User content that is not explicitly associated with the TaskSpace application, such as sample
documents or libraries of documents
– Custom activity templates that are implemented as BOF modules
– Necessary .class files for custom workflow methods that are not implemented as BOF modules
– BOF modules that a method references when importing the method
– .class files for custom form adapters:
♦ Copy the .class file to the application server if the custom form adapter was built this way. If
the custom form adapter was built using BOF modules, then the BOF module and related
JAR files are imported automatically.
♦ For adapters that use JDBC for connectivity, copy the properties file that contains the JDBC
string to the application server.
♦ If the form adapter fetches data from a properties file, manually import the properties file.
– Custom types that are used in form adapters for items such as drop-down menus. It is
recommended that you add these artifacts to the TaskSpace application explicitly to ensure that
they are imported into Composer:
– The data (objects) in the custom types that are used in form adapters
– Registered tables
– Form instances
<target name="package-project"
description="Package the project into a DAR for installation">
<delete file="${dar.filename}" />
<emc.dar
dmproject="${project.name}"
manifest="bin/dar/default.dardef.artifact"
dar="${dar.filename}" />
</target>
</project>
6. Create a batch file, build.bat, to run the build. The batch file sets up the Composer workspace and
calls the Ant script. When calling the Ant script, call the targets in the exact order as shown in the
example. It is important to preserve the order of how the targets are run. In general, you create
the Composer project, import the artifacts into the project, build the project, and then generate the
DAR file. The following batch file shows how to run the example build.xml Ant script:
REM Set environment variables to apply to this command prompt only
SETLOCAL
REM Sets the workspace directory where Composer builds the projects
7. Run the build.bat file from the command line. When the job completes, the DAR file is output to
the location that you specified.
<target name="import-artifacts">
<emc.importArtifacts project="${project.name}" docbase="${repository}"
username="${username}" password="${password}">
<objectIdentities>
<path value="${artifact.path}"/>
</objectIdentities>
</emc.importArtifacts>
</target>
<target name="package-project"
description="Package the project into a DAR for installation">
<delete file="${dar.filename}" />
<emc.dar
dmproject="${project.name}"
manifest="bin/dar/default.dardef.artifact"
dar="${dar.filename}" />
</target>
</project>
7. Create a batch file, build.bat, to run the build. The batch file sets up the Composer workspace and
calls the Ant script. When calling the Ant script, call the targets in the exact order as shown in the
example. It is important to preserve the order of how the targets are run. In general, you create
the Composer project, import the artifacts into the project, build the project, and then generate the
DAR file. The following batch file shows how to run the example build.xml Ant script:
REM Set environment variables to apply to this command prompt only
SETLOCAL
REM Sets the workspace directory where Composer builds the projects
REM that you want to install to a repository
SET BUILDWORKSPACE=".\build_workspace"
When the build.bat file is done running, a DAR file appears in the location that you specified for the
${dar.filename} property. You can deploy the DAR with the DAR Installer or with headless Composer.
<target name="install-project"
description="Install the project to the specified repository.
dfc.properties must be configured">
<emc.install
dar="${dar.filename}"
docbase="${repository}"
username="${username}"
password="${password}"
domain="" />
</target>
</project>
4. Create a batch file, install.bat, to run the installation script. The batch file sets up the Composer
workspace and calls the Ant script. When calling the Ant script, call the targets in the exact order
as shown in the example. The following batch file shows how to run the example install.xml
Ant script:
REM Sets the workspace directory where Composer extracts built DAR files
REM before installing them to a repository
SET INSTALLWORKSPACE=".\install_workspace"
5. Create a target to generate the DAR file with the emc.dar task. Call this task before the emc.install
task to ensure that the code built from emc.build task makes it into the new DAR file.
6. Create a target to install the DAR file with the emc.install task. The following script shows you
how to create the Ant targets for an example project. You can modify the property values at the top
of the script for your environment.
<?xml version="1.0"?>
<project name="xCPBuild">
<property name="project.name" value="project_name" />
<property name="repository" value="repository" />
<property name="username" value="username" />
<property name="password" value="password" />
<property name="dar.filename" value="myDAR.dar" />
<target name="package-project"
description="Package the project into a DAR for installation">
<delete file="${dar.filename}" />
<emc.dar
dmproject="${project.name}"
manifest="bin/dar/default.dardef.artifact"
dar="${dar.filename}" />
</target>
<target name="install-project"
description="Install the project to the specified repository.
dfc.properties must be configured">
<emc.install
dar="${dar.filename}"
docbase="${repository}"
username="${username}"
password="${password}"
domain="" />
</target>
</project>
7. Create a batch file, build.bat, to run the build. The batch file sets up the Composer workspace and
calls the Ant script. When calling the Ant script, call the targets in the exact order as shown in the
example. It is important to preserve the order of how the targets are run. In general, you create
the Composer project, import the artifacts into the project, build the project, and then generate the
DAR file. The following batch file shows how to run the example build.xml Ant script:
REM Set environment variables to apply to this command prompt only
SETLOCAL
REM This location gets copied into your build workspace directory
SET PROJECTSDIR="C:\Documents and Settings\Administrator\composer-workspace"
REM Sets the workspace directory where Composer builds the projects
REM that you want to install to a repository
SET BUILDWORKSPACE=".\build_workspace"
REM Sets the workspace directory where Composer extracts built DAR files
REM before installing them to a repository
SET INSTALLWORKSPACE=".\install_workspace"
Troubleshooting tips
If you receive an error regarding presets after trying to access the TaskSpace application on the target
environment, it was not installed correctly.
To fix the presets error:
1. Log in to Documentum Administrator.
2. Go to the folder System /Applications/<TaskSpace_application>.
3. Verify that the owner of the following artifacts is dmc_wdk_presets_owner:
• Presets
• Presets / TaskSpace_App.definition
• Presets / TaskSpace_Role.definition
• Presets / Preset Packages
• Files within the folder Presets / Preset Packages
Web services
A web service is a software system designed to support interoperable machine-to-machine interaction
over a network. Web services are often web APIs accessed over a network, such as the internet, and
executed on a remote system hosting the requested services.
Composer supports web services by providing an EMC Documentum Foundation Services (DFS)
registry plug-in. The plug-in enables users to:
• Connect to a web services registry.
• Import WSDLs to create a Java client library.
• Create services.
• Export the services to an EAR file.
Composer includes a DFS Builder and a DFS Services Library for each new Documentum project.
The DFS Builder and DFS Service Library can be configured in the property settings of a project.
3. Type the DFS context root and module name in the Context Root and DFS Module Name fields.
4. Click OK.
3. Click the Libraries tab, select DFS Services Library from the list box and click Edit.
The DFS Services Library dialog appears.
The Service Registries table lists the services that are currently configured.
3. To configure another service registry, click Add.
The Service Registry dialog appears.
4. Enter the configuration parameters for the service registry as described in the following table:
Properties Description
Registry Alias A string specifying a name for the service registry.
Retrieve URL A string specifying the URL of the server that
hosts the service. The URL must have the format
http://<domain>:<port>/catalog/inquiry.
Publish URL A string specifying the URL of the server to which the
service is published. The URL must have the format
http://<domain>:<port>/catalog/publish.
User Name The login name for the server hosting the service.
Password The password for the server hosting the service.
Retrieve Services Select to display services from this service registry in the Service
Catalog dialog.
The Service Catalogs tab displays all configured service catalogs and services on the server. The
My Services tab displays the services you imported or created. If you installed the Documentum
Services Catalog Repository, Documentum services are not automatically published as part of that
installation. Services must be published to the catalog before you can view them in Composer. If
no services are published, Composer does not display any services.
3. To view the web services, expand the catalog, then double-click the service to display the service
details.
The service details appear with the General tab selected.
Filtering services
Specify which services to display in the Service Catalog tab by using the service filter.
To filter services:
1. In the Documentum Solutions perspective, click the search icon ( ) below the Catalog Services
tab.
The Services Search dialog box appears.
2. Select Filter Catalog Services using and enter your search criteria. You can filter by Organization
Name, Service Name, Catalog Name, and Category Name.
3. Click OK.
The services that match the filter criteria are displayed in the Catalog Services view.
2. Enter the project in which you want to generate the client proxy or select a project from the
drop-down list, then click OK.
Composer imports the client proxy into the project. The service name appears in the My Services
tab.
The JAR file and the WSDL of the service appear in the Web Services folder of the project in
the Documentum Navigator view.
Consuming a service
Consuming a service requires importing the client proxy of a service, as described in Generating a
client proxy, page 62, and creating the code that calls the service.
The following code example describes how to call a service. The only custom code in the example is
the try block that is highlighted in bold.
package com.acme.loanapp.services;
import com.emc.documentum.fs.datamodel.core.context.RepositoryIdentity;
import com.emc.documentum.fs.rt.context.ContextFactory;
import com.emc.documentum.fs.rt.context.IServiceContext;
import com.emc.documentum.fs.rt.context.ServiceFactory;
import com.emc.services.ws.client.soap.*;
m_theId.setRepositoryName("D65Docbase");
m_theId.setUserName("dfsuser");
m_theId.setPassword("dfs");
context.addIdentity(m_theId);
try {
//completion point ’instantiate services’
IWorkflowService qSvc = sf.getRemoteService(IWorkflowService.class,
context, "core", "http://localhost:9080/services");
qSvc.start("ProcessLoanApplication");
}
catch (Exception e)
{
System.out.println("An exception has occured: " + e);
}
}
}
Creating a service
Create a service from a Java file or generate a service from the WSDL file of a client proxy.
b. Enter a name for your Java package, for example com.emc.services, then click Finish.
3. Create a Java class:
a. Right-click the Java package that you created and select New > Class.
The New Java Class dialog appears.
b. Type a name for your Java class, for example TestService, select methods to include, then
click Finish.
The Java file appears in the workspace.
c. Write the code that specifies your service. The EMC Documentum Foundation Services
Development Guide provides information about developing DFS services.
d. Save your changes.
Your new service appears on the My Services tab in the Documentum Solutions perspective
under Unclassified.
3. Type the name of the project in which you want Composer to create the service or select a project
from the drop-down list, then click OK.
The Java file for the service appears in the /src directory of the Web Services folder for the project.
2. Enter the service information in the General and Classification sections as described in the
following table:
Properties Description
General
Name The name of the service.
Description A description of the service.
Mark for Publish Specifies whether this service is ready to be published. This
option is enabled by default.
Properties Description
Classification
Catalog The name of the catalog. Click Add to add a new catalog entry,
then select the field in the Catalog column to modify it.
Category The name of the catalog category. Click Add to add a new
category entry, then select the field in the Category column to
modify it.
Publishing a service
Use the Publish Service dialog to publish a service to a registry.
To publish a service:
1. Switch to the Documentum Solutions perspective and locate the service you want to publish in
the My Services tab.
2. Right-click the service and select Publish from the drop-down list.
The Publish Service dialog appears.
3. Enter the publishing information as described in the following table and then click OK.
Properties Description
Registry The alias of the registry to which the service is published. Select
the registry from the drop-down list.
Organization Name The name of the organization where the service resides.
DFS Server URL The URL of the DFS server.
Context Root Specifies the root of the service address. For example, in the
URL https://127.0.0.1:7001/services/core, services signifies the
context root.
Module Name Specifies the name of the service module. For example, in the
URL https://127.0.0.1:7001/services/core, core signifies the
module name.
Unpublishing a service
When you unpublish a service, it is no longer available on the DFS server and does not show up in
registry queries.
To unpublish a service:
1. In the Service Catalogs view, right-click the service and select Unpublish.
The Unpublish Services dialog appears.
2. Click OK to unpublish the service.
The service no longer appears in the Service Catalogs view.
Exporting a service
When you export a service, Composer generates an archive EAR file, a JAR containing runtime
resources, and an optional manifest XML file.
To export a service:
1. Right-click the project that contains your service in the Documentum Navigator or Package
Explorer view.
2. Navigate to Export > Documentum > Export Service Archive and then click Next.
The Export Service Archive dialog appears.
3. Enter the export service information as described in the following table and then click Finish.
Properties Description
Archive Name The name for the archive EAR file. The file has the format
<archive name>.ear.
Context Root Specifies the root of the service address. For example, in the
URL https://127.0.0.1:7001/services/core, services signifies the
context root.
Export Destination The location on the local machine or network drive where the
EAR file is saved. Click Select and browse for a location to store
the EAR file.
Services for Export Select the service to export.
Runtime Libraries The JARs that are included in and exported with the EAR file.
Click Add to include JAR files from your Composer workspace.
Click Add External JAR to include JAR files from the local
file system.
Runtime Resources The runtime resources that are included in and exported with the
archive EAR file. The runtime resources are packaged in a JAR
file. Click Select and select the resources to export.
Generate Publish Manifest Select this option to export a manifest XML file with
the EAR file. The manifest file has the format <archive
name>-publish-manifest.xml.
Organization Name The name of the organization that created the service.
Composer creates the archive EAR file, runtime resources JAR file, and the manifest file in the
export destination.
Deploying a service
After you export the service and generate an EAR file, deploy the service by copying the EAR file to
the DFS server.
To deploy a service:
1. Generate an EAR file for the service you want to deploy, as described in Exporting a service,
page 69.
2. Copy the EAR file to the services directory on your DFS server.
2. Type the folder path and name of the project for which you want to create an alias set in the Folder
field, or click Browse to select the project from a folder list.
3. Type a file name for the alias set in the Artifact name field, then click Finish.
4. Type a name for the alias set in the Name field and an optional description in the Description field.
5. Click Add in the Aliases section to create one or more aliases that make up the alias set.
The New Alias dialog appears.
6. Type a name for the new alias in the Name field and select a type from the Type drop-down list.
You can create an alias for the following alias types:
• Unknown
• User
• Group
• User or Group
• Cabinet Path
• Cabinet or Folder Path
• Permission Set
Configuring alias values, page 75 describes the parameters associated with a specific alias type.
7. Click OK when you are finished.
The Alias Details section appears.
8. Enter the details for the alias in the Alias Details section as described in the following table:
Properties Description
Name A string specifying the name of the alias.
Type Specifies the type for which this alias is used.
2. Enter the folder path and name of the project for which you want to create an aspect type in the
Folder field, or click Browse to select the project from a folder list.
3. Type a file name for the aspect type in the Artifact name field and then click Next.
The Aspect editor appears with the General tab selected.
4. Enter the aspect information in the Info, Constraints, and Events sections, as described in the
following table:
Property Description
Info
Property Description
Type Name A string specifying the name of the aspect. The aspect type name
should be the same as the name of the aspect module that is referencing
the aspect.
The following rules apply to all aspect names:
• A maximum of 27 characters, all lowercase. The Content Server is
case-insensitive and stores all type names in lowercase.
• The first character must be a letter, the remaining characters can
be letters, digits, or underscores.
• Cannot contain any spaces or punctuation.
• Cannot end in an underscore (_).
Events Events are specific actions on objects. You can only create and modify
application events, not system events. Click New to enter a new event.
To edit or remove an event, select the event and click Edit or Remove,
respectively.
Event name A string specifying the name of the event that is associated with
instances of this type.
Event label A string that specifies the label for the event.
2. In the Expression text box, type a valid Docbasic constraint expression that resolves to true or
false. The Docbasic expression resolves to true when the constraint is fulfilled and false when the
constraint is violated.
3. In the Error message when constraint is violated text box, type a message for applications to
display when the constraint is violated.
4. Select the Enforce Constraint checkbox to instruct applications to enforce this constraint or
clear the checkbox to not enforce the constraint.
5. Click OK to save your changes.
3. Configure the aspect attribute structure, as described in Configuring the aspect attribute structure,
page 81.
4. Configure the aspect attribute constraints, as described in Configuring the aspect attribute
constraints, page 82.
Property Description
Name A string specifying the name of the new attribute. The attribute name must
use all lowercase letters, cannot begin with dm_, a_, i_, r_, a numeral,
space, or single quote, and cannot be named select, from, or where.
Data type The data type of the new attribute. Select one of the following data types
from the drop-down list:
• BOOLEAN
• INTEGER
• STRING
• ID
• TIME
• DOUBLE
• UNDEFINED
Length This parameter only applies to attributes that use the STRING data type.
Enter the number of characters for this attribute. The maximum number
of characters that you can assign to this attribute depends on the database
where you are installing the application.
Repeating Specifies whether this attribute can have more than one value. Select the
checkbox to allow more than one value for this attribute.
Non-qualifiable Specifies whether the attribute is qualifiable or non-qualifiable.
The properties and values of a non-qualifiable attribute are stored in a
serialized format and do not have their own columns in the underlying
database tables that represent the object types for which they are defined.
Consequently, non-qualifiable attributes cannot be used in queries because
they are not exposed in the database.
Default values Lets you specify one default value for a single-value attribute or multiple
default values for a repeating attribute.
Constraints are internal consistency requirements in the form of Docbasic expressions that relate the
types attribute values to one another or to constant values.
Enter or specify the aspect attribute constraint properties, as described in the following table:
Property Description
Expression The Docbasic expression that defines the constraint. Click New to
create an expression. Configuring constraint expressions, page 79
provides information about how to create or modify an expression.
Enforcement Specifies whether applications should enforce this constraint or
not. Click the table cell in the Enforcement column to enable or
disable constraint enforcement for the associated expression.
The enforcement field can have two values, as follows:
• disabled: The constraint is disabled.
• ApplicationEnforced: The constraint is enforced by the
applications that use this type.
Attribute cannot be blank Select to specify that the aspect attribute must have a value. Users
must enter a value for this aspect attribute when the application
executes.
Attribute is read-only Select to specify that the aspect attribute is read-only. Users cannot
change the value of the aspect attribute when the application
executes.
Attribute can have NULL value Select to specify that the aspect attribute does not need an assigned
value assigned. Users do not need to enter a value for this aspect
attribute when the application executes.
Attribute can be modified on immutable Select to enable users to modify the aspect attribute even though
objects the object itself is immutable (unchangeable).
Property Description
Application Interface UI
Type label A string that the client application displays for this aspect.
User help Optional description for the aspect that is displayed in the
application.
Comments for developers Optional comments for developers.
Display Configuration
Scope The name of the application in which the aspect is displayed.
The name of the application must exist in the repository.
Note: Webtop does not support displaying attributes for
aspects.
Display configuration list Specifies the tab on which the aspect attribute is displayed.
You can add, remove, rename, and change the position of
a tab, as follows:
• Click New to add a new tab. The Display Configuration
dialog appears. Adding a tab, page 85 information about
adding a tab to display an attribute in a client application.
• To remove a tab, select the tab name in the list, then click
Remove.
• To rename a tab, select the tab name in the list, then click
Rename.
• To change the order in which the tabs are displayed, select
the tab name in the list, then click Up or Down to move the
tab to the desired position.
Attributes in display configuration Lets you modify the attributes that are displayed on a tab.
Adding a tab
Use the Display Configuration dialog to add a tab to display an attribute.
To add a tab to display an attribute:
1. Click New in the Display configuration list section of the Aspect UI Information view.
The Display Configuration dialog appears.
2. Enter a name for the new aspect module, then click Finish.
Note: Use the same name for the aspect module and the aspect type associated with the module.
The Aspect Module editor appears with the General tab selected.
3. Enter the required and optional properties in the Info, Description, Required Modules, Javadoc,
and Core JARs sections, as described in the following table:
Property Description
General
Name A string specifying the name of the module. Required
parameter. The name can have up to 255 characters.
Type A string specifying the type of the module. Required
parameter. An aspect module can only be of the type Aspect.
Description
Author Contact information for the module author. Optional parameter.
Property Description
Javadoc Specifies Javadocs and other resources that can be downloaded
with the aspect module at runtime. Click Select to open the
SysObject Subtype Artifact dialog. Select a SysObject that
contains the Javadoc or resource content from the list or
click New to create a SysObject containing the content to be
downloaded.
Core JARs
Implementation JARs Implementation of the module. Required parameter. Click
Add to add implementation JARs from your local machine.
Class name Primary Java implementation class for the module. Required
parameter. TBOs must implement the IDfBusinessObject
interface; SBOs must implement the IDfService interface; and
all modules must implement the IDfModule interface.
Interface JARs Java interfaces that this module implements. Optional
parameter. Click Add to add interface JARs from your local
machine.
4. Click the Deployment tab to configure the module dependencies, as described in Configuring
aspect module deployment , page 88.
5. Click the Runtime tab to configure the runtime environment for this module, as described in
Configuring the aspect module runtime environment, page 90.
6. Click the Aspect Type tab to configure an aspect type for this module, as described in Configuring
the aspect type, page 91.
2. In the Java Libraries section, click Add to add Java libraries for this module.
The Jar Def Java Library Artifact dialog appears.
Select a Java library from the Matching artifacts listbox and click OK or click New to create a
Java Library. You can only link existing Java libraries into this module. You cannot modify an
existing library that is shared by multiple modules. Linking and configuring a Java Library, page
99 provides information about how to create a Java library.
3. In the Attachments section, specify additional objects that are available for download when the
module is deployed.
4. In the Logging section, specify a post-download message and select a log level for the message.
The log level can have the following values:
• WARN: The post-download message is logged as a warning.
• NONE: The post-download message is not logged.
• INFO: The post-download message is logged as an informational message.
• DEBUG: The post-download message is logged at debug level.
2. Specify the version requirements, Java system properties, statically deployed classes, and local
resources, as described in the following table:
Property Description
Version Requirements This section lets you specify the DFC and Java VM versions
required on the client for the module to function properly.
Min DFC version The minimum DFC version on the client machine for this
module to work properly.
Min VM version The minimum Java VM version on the client machine for this
module to work properly.
Property Description
Java System Properties This section lets you specify Java system properties as
name-value pairs. When the module is downloaded, the client
machine is checked to see if all the specified Java properties
match the properties on the client machine. Click Add to
enter placeholders for the name and value of the Java system
property, then click the Name and the Value fields to modify
the property name and value.
Name Name of the Java system property.
Value Corresponding value for the Java system property name.
Statically Deployed Classes This section lets you specify static Java classes that are
required for the module to function properly. When the module
is downloaded, the class path is checked for the specified Java
classes.
Fully qualified class name Fully qualified Java class names. Enter the class name and
click Add.
Local Resources This section lets you specify files that are required on the
local machine for the module to function properly. When the
module is downloaded, the client machine is checked for the
specified files specified.
File path relative to deployment Full file path. Enter the file name and path and click Add.
2. Configure the aspect type properties in the Info section, as described in the following table:
Property Description
Type reference Specifies the aspect type that is associated with this aspect
module.
Click Select to add a type reference. The Select Aspect Artifact
dialog displays. Select an aspect type from the list or click
New to create an aspect type. Creating an aspect type, page 77
provides information about how to create an aspect type.
Copy aspect Specifies whether the aspect is copied with the associated object
if the object is copied. By default, the aspect is copied with
the object.
Version aspect Specifies whether the aspect is copied with the associated object
if the object is versioned. By default, the aspect is copied with
the object.
Aspect category Specifies the aspect category that is associated with this aspect
module.
To add an aspect category, select and aspect category from the
list and click Add.
Target object type Specifies to which object types the aspect can be attached.
Click Add to add a target object type. The Select Type Artifact
dialog displays. Select a type from the list or click New to
create a type. Object types, page 161 provides information
about how to create types.
Formats
A format object contains information about a file format recognized by Content Server. A predefined
set of file formats is installed by default when a repository is configured.
2. Enter a folder path and a name for the format artifact, or accept the default path and name, then
click Finish.
The Format editor appears.
3. Enter the format properties in the General, Digital Asset Management, and Full Text Index
sections, as described in the following table:
Parameter Description
General
Name An ASCII string specifying the name of the format. The string cannot
be longer than 64 characters.
Description A string describing the format. The string cannot be longer than 64
characters.
Default file extension A string specifying the DOS extension that is used when a file with this
format is copied into the common area, client local area, or storage. The
string cannot be longer than 10 characters.
COM class ID A string specifying the class ID recognized by the Windows registry for
a content type. The string cannot be longer than 38 characters.
MIME type A string specifying the Multimedia Internet Mail Extension (MIME) for
the content type. The string cannot be longer than 64 characters.
Macintosh creator A string with up to 4 characters used internally for managing Macintosh
resource files.
Macintosh type A string with up to 4 characters used internally for managing Macintosh
resource files.
Is hidden Used by client applications to determine whether to display this format
object in the client application’s user interface. If selected, the format
is not displayed in the client’s user interface.
Classes Specifies the class or classes of formats to which the format belongs.
For example, the xml, xsd, and xsl formats belong to the XML and
MSOffice classes.
Parameter Description
Default storage Specifies the default storage area (identified by its object_id) where the
contents of the objects with this format are stored. If a storage type
is not specified for a SysObject, the default storage for the associated
format is used. If no default storage is specified, then the storage type
specified for the object type is used. If none of these are specified, then
turbo storage is used as the default storage.
File name modifier Specifies a string that a client application can append to a file name
when multiple renditions (of an object) having the same extension are
exported. For example, if you specify _th as the filename_modifier
for the jpeg_th format, then when a rendition, my_picture.jpeg
with a jpeg_th format, is exported, the rendition’s file name is
my_picture_th.jpeg.
Rich media enabled Indicates whether Content Server automatically generates thumbnails,
auto proxy and metadata for its contents.
2. Enter a folder path and a name for the JAR definition, or accept the default path and name, then
click Finish.
The JAR Definition editor appears.
3. Enter the JAR definition properties and add file content, as described in the following table:
Property Description
Info
Name A string specifying the name of the JAR definition.
Type Specifies the type of JAR definition. The type can have the following
values:
• Implementation: The JAR file definition contains implementation
classes or implementation and interface classes.
• Interface: The JAR file definition contains only interface classes.
• Interface and Implementation: This JAR file definition points to
both, interface and implementation classes.
JAR Content Specifies the local files that are aggregated in the JAR file.
Click Browse to select a JAR file on the local machine. The Select
content from a JAR file dialog appears. Select the JAR file from
the list and click Open.
To view the content of a selected JAR file, click the File link, then
select the editor you want to use to view the content.
2. Enter a folder path and a name for the Java library, or accept the default path and name, then
click Finish.
The Java Library editor appears.
Property Description
Info
Name A string specifying the name of the Java library.
Property Description
Sandbox Specifies whether this Java library uses a sandbox. If selected,
the Java library uses a sandbox. By default, the sandbox is
disabled.
Note: If you do not sandbox your Java libraries, they will not
be deployable.
Files The JARs and property files to be included in the Java library.
Click Add and select the JARs and properties files from the
listbox.
Lifecycles
A lifecycle specifies business rules for changes in the properties of an object, such as a document. In
other words, a lifecycle defines the different stages of an attached document. For example, a document
could be in a draft state, a review state, or a finalized state. A lifecycle does not define what activities
happen to the document while it resides in a state. Activities are defined by workflows.
From a high-level view, a lifecycle consists of an attached object and various states that define the
properties of the object. Planning a lifecycle includes determining the following:
• Object type(s) that can be attached to the lifecycle.
• Normal states, including entry and exit criteria, state actions, and procedures.
• Exception states, including entry and exit criteria, state actions, and procedures.
• Validation procedures.
• Alias sets.
subtype can be attached to a lifecycle. The SysObject subtype most commonly associated with content
is dm_document.
A lifecycle requires a primary object type and can include secondary object types. The primary
object type specifies the type of document that can be attached to the lifecycle. A document can only
be attached to the lifecycle, if the document type matches the primary object type. The primary
object type can only be dm_sysobject or one of its subtypes. Secondary object types are subtypes
of the primary object type.
By default, Composer provides the dm_sysobject and its subtypes in the lifecycle editor.
You can also create an object type. Object types, page 161 provides more information about object
types, and Creating a standard object type, page 162 provides information on how to create an object
type.
Creating a lifecycle
You can create a lifecycle using the Lifecycle editor in Composer.
To create a lifecycle:
1. In your Composer project, expand the Artifacts folder and right-click Lifecycles. Select New >
Lifecycle.
The Lifecycle dialog appears.
2. Enter the full path name of the folder in which you want to create the lifecycle in the Folder field
or click Browse to select a folder from drop-down list.
3. Enter the name of the lifecycle in the Artifact name field or accept the default name.
4. Click Finish.
The Lifecycle editor appears.
5. Configure the properties of the lifecycle, as described in Configuring lifecycle properties, page 103.
6. Configure lifecycle states, as described in Adding and configuring lifecycle states, page 105.
7. Save your changes.
Lifecycle properties include the primary object type, secondary object types, a validation procedure,
implementation type, and alias sets. In the Primary Information and General Information sections,
configure the properties of a lifecycle as described in the following table:
Parameter Description
Primary Information
Parameter Description
Name A string specifying the name of the lifecycle.
Primary type Assign a primary object type by using one of the
following methods:
• Click Select. The Select Type Artifact dialog
appears. Select the primary object type from the
listbox.
• Click the Primary type link to create an object
type. The New Object Type Artifact wizard
appears. Creating a standard object type, page 162
provides more information about how to create a
custom object type.
Select primary type and all subtypes If selected the lifecycle applies to the primary type
and all its subtypes.
Select individual secondary types Select this option if you want to assign individual
secondary types. Choose the secondary types from
the Secondary types listbox.
Secondary types Displays the secondary types that can the assigned
to this lifecycle.
Secondary object types are subtypes of the primary
object type that is specified in the Primary type field.
If you specify secondary object types, only objects
of the secondary object type can be attached to the
lifecycle. If you do not select any secondary object
types, the attached type must match the primary
object type.
General Information
Implementation type Specifies the implementation type. Select an
implementation type from the drop-down list. There
are two implementation types, as follows:
• Docbasic
• Java
Alias sets Specifies the alias set associated with this lifecycle.
Add one or more alias sets by clicking Add next to the
Alias sets field in the General Information section.
The aliases are resolved to real user names or group
names or folder paths when the lifecycle executes.
Alias, alias values, and alias sets, page 73 provides
additional information about managing alias sets.
Parameter Description
Custom validation procedure Specifies the validation procedure associated with this
lifecycle.
Assign a validation procedure using the Validation
Procedure field. Click Browse to select a validation
procedure.
Make this lifecycle inactive Select this option to deactivate this lifecycle.
Properties Description
State Overview
Name A string that specifies the name of the lifecycle state.
Description A string that describes the purpose or function of the lifecycle
state. Optional parameter.
State Type A string that specifies the state by type. A state type identifies
a state that a client application uses. Certain client applications
identify a state by type instead of the name.
Type an existing state type in the State type field, click Select
and select a state type from the list, or click State Type to create
a state type. Creating a state type, page 106 provides more
information about how to create state types.
General Settings
Allow attachments directly to this state If this setting is selected, users can attach a document to this
state. The document type must match the primary and secondary
object types that were specified for the lifecycle.
Allow scheduled transitions from this If this setting is selected, a document can transition from this
state state to the next state as the result of a time schedule, and no
explicit user action is required.
Allow demotions to previous state If this setting is selected, a document attached to this state can be
moved back to the previous state or the base (first) state.
2. Click the Overview tab on the Properties pane to display the State Overview page.
3. In the State Overview section, click the State Type link.
The New State Type dialog appears.
4. Enter the full path name of the folder in which you want to create the state type in the Folder field
or click Browse to select a folder from drop-down list.
5. Enter a name for the state type in the Artifact name field, or accept the default name. The state
type name must be unique.
6. Click Next.
The State Type Artifact dialog appears.
7. Enter the application code. Application code is a string that the client application recognizes, for
example, dm_dcm for Documentum Compliance Manager (DCM). See the client application’s
documentation for information about its application code and valid state types.
8. Click Finish.
2. In the State Entry Criteria section click Add to add one or more state entry criteria rules. Click
any field in a row to type or edit a value, as described in the following table:
Property Description
State Entry Criteria
Logic operator A logic operator that can have the values AND and OR.
Attribute name The name of the attribute that specifies the entry criteria for the
state. Click the field and use the drop-down list to select an
attribute name. The list only shows the attributes that are valid
for the primary object type associated with the lifecycle.
Index Specifies the position of the entry criteria in the entry criteria
list. By default, the index is set to NONE.
Relational operator A relational operator that can have the following values:
• > (greater than)
• >= (greater or equal)
• < (less than)
• <= (less or equal)
• = (equal)
Attribute value A string that specifies the value of the attribute.
Procedure
Procedure The procedure that is executed when a document enters this
stage of the lifecycle. Enter a procedure name in one of the
following ways:
• Click Select. The Procedure Artifact dialog appears. Select
a procedure from the listbox or click New... to create a
procedure.
• Click the Procedure: link to create a procedure.
Creating a procedure, page 143 provides more information about
how to create a procedure.
4. Enter the name of the repeating attribute, the position, and the value, as described in the following
table:
Property Description
Attribute The name of the repeating attribute. You can either type the name in the
Attribute field or select a name from the drop-down list. The list only
displays the attributes that are valid for the primary object you assigned
to the lifecycle.
Add to end of list Select to add the value to the end of the existing list of values.
Add to position Select to add the value at a specified position and replace the old value.
Enter a specified position.
4. Select the attribute and specify the value or alias you want to remove, as described in the following
table:
Property Description
Attribute The name of the repeating attribute. You can either type the name in
the Attribute field or select a name from the drop-down list. The list
only displays the attributes that are valid for the primary object you
assigned to the lifecycle.
Remove all values Select this option to remove all values from the repeating attribute.
Remove specified value Select this option if you want to remove a specific value or alias to be
removed, then enter the value or select the alias set in the Value section.
Setting attributes
The Set Attribute action lets you specify attributes for a state, such as the title or version of a document.
To set an attribute for a lifecycle state:
1. In the lifecycle state diagram, click the state for which you want to configure an attribute.
2. Click the Actions tab in the Properties pane.
The Actions page appears.
3. Click the Set attribute link.
The Set Attribute dialog appears.
4. Select the attribute, and enter an index and value for the attribute, as described in the following
table:
Property Description
Attribute The name of the attribute. You can either type the name in the Attribute
field or select a name from the drop-down list. The list only displays
the attributes that are valid for the primary object you assigned to the
lifecycle.
Index Stores the position of the attribute according to the index value that is
entered. All attributes are stored in a list, therefore an index value must
be stored with the attribute’s name.
4. Enter the version label in the Version Label field, then click OK to save your changes.
4. Select one of the location link options and enter the location to which you want to link the
document when it enters the state, as described in the following table:
Property Description
Select a cabinet or folder Select this option to link the state to a cabinet or
folder. Click Select. The Folder Subtype Artifact
dialog appears. Select a cabinet or folder from the
listbox.
Select a location alias Select this option to link the state to a location alias.
Enter the location alias or select an alias from the
drop-down list.
Type or select an attribute and a location expression Select this option to link the state to an attribute and
a location expression.
Property Description
Attribute A string specifying the name of the attribute for
the location expression. Enter the attribute name
or select an attribute from the drop-down list. The
list only displays the attributes that are valid for the
primary object you assigned to the lifecycle.
Location expression The dynamic location path associated with the
attribute selected from the Attribute drop-down
list. Enter the location expression. The location
path is resolved at runtime.
4. Select one of the location link options and enter the location to which you want to move all links
when the document enters the state, as described in the following table:
Property Description
Select a cabinet or folder Select this option to move all links to a cabinet or
folder. Click Select. The Folder Subtype Artifact
dialog appears. Select a cabinet or folder from the
listbox.
Property Description
Select a location alias Select this option to move all links to a location
alias. Enter the location alias or select an alias from
the drop-down list.
Type or select an attribute and a location expression Select this option to move all links to an attribute
and a location expression.
Attribute A string specifying the name of the attribute for
the location expression. Enter the attribute name
or select an attribute from the drop-down list. The
list only displays the attributes that are valid for the
primary object you assigned to the lifecycle.
Location expression The dynamic location path associated with the
attribute selected from the Attribute drop-down
list. Enter the location expression. The location
path is resolved at runtime.
4. Select one of the location link options and enter the location from which you want to remove the
document link when the document enters the state, as described in the following table:
Property Description
Select a cabinet or folder Select this option to remove the link to a cabinet or
folder. Click Select. The Folder Subtype Artifact
dialog appears. Select a cabinet or folder from the
listbox.
Select a location alias Select this option to remove the link to a location
alias. Enter the location alias or select an alias from
the drop-down list.
Type or select an attribute and a location expression Select this option to remove the link to an attribute
and a location expression.
Attribute A string specifying the name of the attribute for
the location expression. Enter the attribute name
or select an attribute from the drop-down list. The
list only displays the attributes that are valid for the
primary object you assigned to the lifecycle.
Location expression The dynamic location path associated with the
attribute selected from the Attribute drop-down
list. Enter the location expression. The location
path is resolved at runtime.
owner of an object, you must be a superuser or own the document and be a member of the group to
which you are assigning ownership.
Note: You must have an alias set assigned to the lifecycle to assign an owner to a document. You can
assign an alias set in the General tab of the lifecycle properties page. Configuring lifecycle properties,
page 103 provides information on assigning alias sets to a lifecycle.
To assign an owner to a document:
1. In the lifecycle state diagram, click the state for which you want to assign a document owner. The
Properties pane appears below the lifecycle editor.
2. Click the Actions tab in the Properties pane.
The Actions page appears.
3. Click the Set owner link.
The Document Owner dialog appears.
4. Select one of the permission set options, as described in the following table:
Property Description
Permission set Select this option to assign a permission set to the lifecycle state. Click
Select to open the Permission Set (ACL) Template artifact dialog. Select
a permission set from the list or click New to create a permission set.
Permissions, permission sets, and permission set templates, page 135
provides information about permission sets.
Permission set alias Select this option to assign a permission set alias and select a permission set
alias from the drop-down list. Permissions, permission sets, and permission
set templates, page 135 provides information about permission sets.
The page displays only the attributes that are valid for the primary object you assign to the lifecycle.
3. Select an attribute from the Attributes table and click Change Properties... to change any of the
attribute’s properties.
The Properties dialog for that attribute appears.
4. Configure the attribute’s properties by selecting any of the available options, then click OK.
You can revert back to the original type definition for the attribute by clicking Revert to Type
Definition on the Attributes page.
Deleting a lifecycle
To delete a lifecycle:
1. In your Composer project in the Documentum Navigator view, expand the Artifacts folder.
2. Right-click Lifecycles and then select Delete from the drop-down menu.
The Delete Resources dialog appears.
3. Click OK to delete the lifecycle.
Creating a method
Use the Method editor to create a method.
To create a method:
1. In your Composer project, expand the Artifacts folder and right-click Methods. Select New
> Method.
The New Method dialog appears.
2. Enter a name for the new method or accept the default name and then click Finish.
The Method editor appears.
3. Enter the properties for the method, as described in the following table:
Parameter Description
General
Name A string specifying the name of the method. Do not use the format
dm_methodname to name the method. This naming convention is
reserved for default Documentum objects.
Type Specifies the language or program used for this method. Select on
of the following types:
• java: The method is written in Java and the Java method server
is executing the method.
• dmbasic: The method is written in Docbasic.
• dmawk: The method is written in dmawk.
• program: The method is a program.
Command The command that launches the method.
Run Controls
Run Asynchronously Specifies whether the procedure is run asynchronously or not.
This parameter is ignored if the method is launched on the
Method Server or Content Server and SAVE_RESULTS is set to
TRUE on the command line.
Run Synchronously Specifies whether the method is run synchronously.
Timeout Specifies the minimum, default, and maximum amount of time
before the methods times out.
Run as the server Specifies whether the method is run as the server account. If
selected, the method is run as the server account.
Trace launch Specifies whether internal trace messages generated by the
executing program are logged. If selected, the messages are
stored in the session log
Use method server Specifies whether to use the Method Server or Application Server
to execute Dmbasic or Java methods. If selected, the Method
Server or application server is used. If not selected, the Content
Server is used.
Parameter Description
Launch directly Specifies whether the program is executed by the operating
system or exec API call. If selected, the server uses the exec call
to execute the procedure. If the checkbox is cleared, the server
uses the system call to execute the procedure.
Use as workflow method Specifies whether this method is used in a workflow.
Creating a job
A job automates the execution of a method.
To create a job:
1. In your Composer project, expand the Artifacts folder and right-click Jobs. Select New > Job.
The New Job dialog appears.
2. Enter a name for the new job or accept the default name, then click Finish.
The Job editor appears.
3. Enter the properties for the job in the Info, Job Schedule, and Run Interval sections, as described in
the following table:
Parameter Description
Info
Name A string specifying the name of the job.
Subject A comment or description of the job.
Method The method that this job is automating. Click Select and select a
method from the Documentum Method Artifact dialog or click
Method to create a method for this job.
Method Data Data that is used by the method associated with the job. This
property is available for the method to read and write as needed
during its execution. Enter the data in the method data field and
click Add.
Standard Arguments Select to pass the standard arguments to the method. The standard
arguments are:
• Repository owner
• Repository name
• Job ID
• Trace level
Custom Arguments Select to pass one or more custom arguments to the method. Enter
the argument in the custom arguments field and click Add.
Deactivate on Failure Select to direct the application to stop running the job if the
underlying method fails.
Parameter Description
Trace Level Controls tracing for the method. Any value other than 0 turns on
tracing. By default the trace level is set to 0.
Make this Job Inactive Select to inactivate the job.
Job Schedule
Max Runs Specifies the maximum number of times the job runs.
Run once upon saving, then run as Select to run the job immediately after you save it, then return to
scheduled the configured schedule.
Run Interval
Execute every Specifies the number of times this job is run every minute, hour,
day, or week.
Execute on Specifies a day on which this job is run. The job can be run on the
same day once every week, once every month, or once every year.
Modules
A module consists of executable business logic and supporting material, such as third-party software
and documentation. A module is comprised of the JAR files that contain the implementation classes
and the interface classes for the behavior the module implements, and any interface classes on which
the module depends. The module can also include Java libraries and documentation.
There are three types of modules:
• Service-based modules (SBOs)
An SBO provides functionality that is not specific to a particular object type or repository. For
example, an SBO can be used to customize the inbox of a user.
• Type-based modules (TBOs)
A TBO provides functionality that is specific to an object type. For example, a TBO can be used to
validate the title, keywords, and subject properties of a custom document subtype.
• Aspect
An aspect provides functionality that is applicable to specific objects. For example, an aspect
can be used to set the value of a one property based on the value of another property. An aspect
module is created using a different editor, the Aspect Module editor, as described in Creating an
aspect type, page 77.
Creating a module
Use the Module editor to create a module.
To create a module:
1. In your Composer project, expand the Artifacts folder and right-click Modules. Select New
> Module.
The New Module dialog appears.
2. Enter a name for the new module or accept the default name, then click Finish.
The Module editor appears with the General tab selected.
3. Enter the required and optional properties in the Info, Description, Required Modules, Javadoc,
and Core JARs sections, as described in the following table:
Property Description
Info
Name A string specifying the name of the module. Required
parameter. Enter the module name associated with the
module’s type, as follows:
• SBO module: Enter the fully qualified primary interface
name of the SBO.
• TBO module: Enter the name of the corresponding object
type. The name can have up to 255 characters.
Property Description
Type A string specifying the type of the module. Required
parameter. Enter the module type or select the type from the
drop-down list.
Composer provides the following standard module types:
• Standard Module: Provides a generic module.
• TBO: Provides functionality that is specific to an object type.
For example, a TBO can be used to validate the title, subject,
and keywords properties of a custom document subtype.
• SBO: Provides functionality that is not specific to a
particular object type or repository. For example, an SBO
can be used to customize a user’s inbox.
Description
Author Contact information for the module author. Optional parameter.
Description Description for the module, not exceeding 255 characters.
Optional parameter.
Core JARs
Implementation JARs Implementation of the module. Required parameter.
Click Add to add implementation JARs from your local
machine.
Property Description
Class name Primary Java implementation class for the module. Required
parameter.
TBOs must implement the IDfBusinessObject interface, SBOs
must implement the IDfService interface, and all modules must
implement the IDfModule interface.
Interface JARs Java interfaces that this module implements. Optional
parameter.
Click Add to add interface JARs from your local machine.
4. Click the Deployment tab and configure the module deployment options as described in
Configuring module deployment, page 130.
5. Click the Runtime tab to configure the runtime environment for this module, as described in
Configuring the module runtime environment, page 131.
2. In the Java Libraries section, click Add to add Java libraries for this module.
The Jar Def Java Library Artifact dialog appears.
Select a Java library from the listbox and click OK or click New to create a Java Library. You
can only link existing Java libraries into this module. You cannot modify an existing library that
multiple modules share. Linking and configuring a Java Library, page 99 information about
creating a Java Library.
3. In the Attachments section, specify Javadocs and other resources that must be available for
download when the module is deployed.
4. In the Logging section, specify a post-download message and select a log level for the message.
The log level can have the following values:
• WARN: The post-download message is logged as a warning.
• NONE: The post-download message is not logged.
• INFO: The post-download message is logged as an informational message.
• DEBUG: The post-download message is logged at debug level.
5. Save your changes.
2. Specify the version requirements, Java system properties, statically deployed classes, and local
resources, as described in the following table:
Property Description
Version Requirements This section lets you specify the DFC and Java VM versions
required on the client for the module to function properly.
Min DFC version The minimum DFC version on the client machine for this
module to work properly.
Min VM version The minimum Java VM version on the client machine for this
module to work properly.
Java System Properties This section lets you specify Java system properties as
name-value pairs. When the module is downloaded, the client
machine is checked to see if all the specified Java properties
match the properties on the client machine. Click Add to
enter placeholders for the name and value of the Java system
property, then click the Name and the Value fields to modify
the property name and value.
Name Name of the Java system property.
Value Corresponding value for the Java system property name.
Statically Deployed Classes This section lets you specify static Java classes that are
required for the module to function properly. When the module
is downloaded, the class path is checked for the specified Java
classes.
Fully qualified class name Fully qualified Java class names. Enter the class name and
click Add.
Property Description
Local Resources This section lets you specify files that are required on the
local machine for the module to function properly. When the
module is downloaded, the client machine is checked for the
specified files specified.
File path relative to deployment Full file path. Enter the file name and path and click Add.
Basic permissions
Basic permissions grant the ability to access and manipulate an object’s content. The seven basic
permission levels are hierarchical and each higher access level includes the capabilities of the
preceding access levels. For example, a user with Relate permission also has Read and Browse. The
basic permissions are described in the following table:
Read Users can view both the properties and content of the object.
Relate Users can do the above and add annotations to the object.
Version Users can do the above and modify the content of an object and check in
a new version of the item (with a new version number). Users cannot
overwrite an existing version or edit the properties of an item.
Write Users can do the above and edit object properties and check in the object
as the same version.
Delete Users can do all the above and delete objects.
Extended permissions
Extended permissions are optional, grant the ability to perform specific actions against an object,
and are assigned in addition to basic permissions. The six levels of extended permissions are not
hierarchical, so each must be assigned explicitly. The extended permissions are described in the
following table:
2. Enter the folder path and name of the project for which you want to create a permission set in the
Folder field, or click Browse to select the project from a folder list.
3. Enter a name for the permission set in the Artifact name field.
4. In the ACL Class field, select Template and then click Finish.
The Permission Set Template editor appears.
The new permission set contains two default alias entries in the All Users and Groups section,
as follows:
• dm_owner: The owner of the permission set template.
• dm_world: All repository users.
You cannot delete these default alias entries from a permission set template.
5. In the General section, specify general information as described in the following table:
Parameter Description
Name Type a name for the permission set template
Description Optional. Type a description for the permission set template.
Owner Click Select to select the owner of the permission set template.
6. In the All Users and Groups section, select the dm_owner or dm_world alias, or click one
of the following:
• Add Alias
• Add User
• Add Group
The ACL Entry Details section appears.
7. In the ACL Entry Detail section, specify the name and permissions for the alias, user, or group
that you selected, as described in the following table:
Parameter Description
Owner Alias A string specifying the owner for the alias. Click Select to select an
owner for the ACL entry. The Documentum AliasSet Artifact dialog
appears. Select an alias owner from the list. If the list is empty, create
an alias first. Creating an alias set, page 73 provides more information
about creating an alias set.
For the Owner Alias, also select one of the following:
• Relative: Select to specify a relative alias name (%alias_name).
• Absolute: Select to specify aliases from more than one alias set
(%alias_set_name.alias_name).
Owner User or Owner Group A string specifying the owner for the ACL entry. Click Select to select an
owner for the ACL entry. The User Installation Parameter or Group
Installation Parameter dialog appears, depending on whether you are
adding a user ACL or a group ACL. Select an owner from the list. If the
listbox in the Installation Parameter dialog is empty or does not contain
the desired user or group, create an owner in the form of a user or group
installation parameter. You cannot add users or groups directly to the
ACL. Create an installation parameter for each group or user that you
want to add to the ACL and specify the value of the group or user in that
installation parameter. You can then specify the installation parameter in
the ACL. Creating an ACL entry owner, page 142 provides information
about creating an ACL entry owner.
Permissions Specifies the permissions for the alias. Select a permission from the
drop-down list and optionally assign extended permission by checking
the associated option in the Extended Permissions column. Basic
permissions, page 136 and Extended permissions, page 136 provides
information about permissions.
2. Enter the folder path and name of the project for which you want to create a permission set in the
Folder field, or click Browse to select the project from a folder list.
3. Enter a name for the permission set in the Artifact name field.
4. Depending on what type of ACL you want to create, select Regular or Public from the ACL class
drop-down list, then click Finish.
The Permission Set editor appears.
The new permission set contains two default ACL entries in the All Users and Groups section,
as follows:
• dm_owner: The owner of the permission set.
• dm_world: All repository users.
7. Specify the name and permissions for the ACL entry that you selected, as described in the
following table:
Parameter Description
Owner User or Owner Group A string specifying the owner for the ACL entry. Click Select to select an
owner for the ACL entry. The User Installation Parameter or Group
Installation Parameter dialog appears, depending on whether you are
adding a user ACL or a group ACL. Select an owner from the list. If the
listbox in the Installation Parameter dialog is empty or does not contain
the desired user or group, create an owner in the form of a user or group
installation parameter. You cannot add users or groups directly to the
ACL. Create an installation parameter for each group or user that you
want to add to the ACL and specify the value of the group or user in that
installation parameter. You can then specify the installation parameter in
the ACL. Creating an ACL entry owner, page 142 provides information
about creating an ACL entry owner.
Permissions Specifies the permissions for the ACL entry. Select a permission from the
drop-down list and optionally assign extended permission by checking
the associated option in the Extended Permissions column. Basic
permissions, page 136 and Extended permissions, page 136 provides
information about permissions.
4. Enter a name for the ACL entry owner in the Parameter name field. You can also enter an
optional description and a default value.
5. Click Finish. The new owner name appears in the Matching artifacts list in the User Installation
Parameter or Group Installation Parameter dialog.
6. Click OK to save your changes.
Procedures
Procedures are applications that extend or customize the behavior of Documentum clients or Content
Server. Depending on where they are stored in the repository, procedures can be executed automatically
when a user connects to a repository, or on demand when users select a menu item. Procedures are
written in a proprietary Documentum language called Docbasic, which is based on Visual Basic.
The Docbasic Reference Manual contains more information about Docbasic.
Creating a procedure
Use the Procedure editor to create a procedure.
To create a procedure:
1. In your Documentum project, expand the Artifacts folder and right-click Procedures. Select
New > Procedure.
The New Procedure dialog appears.
2. Enter the folder path and name of the project for which you want to create a procedure in the
Folder field or click Browse to select the project from a folder list.
3. Enter a file name for the procedure in the Artifact name field, then click Finish.
The Procedure editor appears.
4. Enter a name for the procedure in the Name field or accept the default name.
5. Select the User runnable checkbox to enable a user to execute the procedure in the associated
client application.
6. Enter the Docbasic code for the procedure in the Docbasic Content section or click Load to load
the procedure code from a local file.
Relation types
A relation type defines the relationship between two objects in a repository. In general, when two
objects are connected by a relationship, one is considered the parent object and the other is considered
the child.
A relation type describes how one item is related to another. There are two relation types, as follows:
• Ad hoc: This relation type can be added, modified, and deleted by users.
• System: This relation type cannot be manipulated by users. For example, a relationship between a
file and its thumbnail is a system relation type.
2. Enter the folder path and name of the project for which you want to create a relation type in the
Folder field, or click Browse to select the project from a folder list.
3. Enter a file name for the relation type in the Artifact name field, then click Next.
4. Enter a name for the relation type in the Relation type name field, then click Finish.
The Relation Type editor appears.
5. Enter the relation type properties in the General and Parent and Child sections, as described in
the following table:
Property Description
General
Name A string specifying the name of the relation type. The name can be up to
255 characters long.
Description A string describing the relation type. The description can be up to 250
characters long.
Security type A string specifying the security level for the relation type. The security
type can have the following values:
• System: Only users with superuser or system administrator privileges
can create, modify, or drop this relation type.
• Parent: This relation type inherits the security level from its parent.
• Child: This relation type inherits the security level from its child.
• None: This relation type has no security level.
Property Description
Referential integrity Specifies how the referential integrity is enforced. Select one of the
following values from the drop-down list:
• Allow delete
• Restrict delete
• Cascade delete
The default referential integrity value is Allow delete.
Relationship direction An integer specifying the relationship direction. The relationship direction
can have the following values:
• From Parent to Child
• From Child to Parent
• Bidirectional
The default relationship direction value is From Parent to Child.
Permanent link Determines whether the relationship is maintained when the parent is
copied or versioned. Select this option to maintain the relationship
between parent and child in one of the following ways:
• The child object is copied if the parent is copied.
• The child object is not copied.
Property Description
Child-to-parent label A string with up to 255 characters specifying a label for the child-to-parent
relationship. Type the string in the text field and click Add.
Parent-to-child label A string with up to 255 characters specifying a label for the parent-to-child
relationship. Type the string in the text field and click Add.
Smart Containers
Smart containers define objects and relationships in a template that is used to instantiate instances at
runtime. Composer provides a smart container editor that lets developers construct smart containers
declaratively instead of programmatically, thus greatly reducing the time to write DFC applications.
After a smart container is constructed, the objects are similar to Documentum persistent objects.
Because a smart container template is intended for repeated construction of a modeled composite
object, each new instance of the composite object must be different. You accomplished this by
parameterizing the smart container at design time.
Note: When configuring the installation options for a smart container artifact, be sure to set the
Upgrade option to Create New Version Of Matching Objects. Do not select Overwrite Matching
Objects for smart container artifacts because overwriting smart container objects invalidates the
model-instance association for existing instances.
Parameters
Name The name of a parameter that the smart container uses at runtime.
Default Value The default value of the runtime parameter.
Adding a folder
Use the Folder option in the smart container editor to add an instance of an existing folder to the smart
container. Since you are adding a folder that exists in a repository, define the folder by adding the
Documentum object ID for the folder or its path.
To add a folder:
1. Open the Smart Container editor, as described in Constructing a smart container, page 149.
2. Select the Folder icon and click the workspace. The folder appears in the smart container
workspace.
3. Click the Folder Info tab in the Properties view and define the folder properties, as described in
the following table:
Parameter Description
Display Name The name of the folder that appears in the workspace. This name is for
display purposes only, so folders can be distinguished in the workspace. The
display name is not used in a repository or any other application.
Object Id The 16-character Documentum object id of the folder.
Path The relative path for a location to which the folder is linked.
2. Select the New Folder icon and click the workspace. A new folder appears in the smart
container workspace.
3. Click the New Folder Info tab in the Properties view and define the folder properties, as described
in the following table:
Parameter Description
Display Name The name of the folder that appears in the workspace. This name is for display
purposes only, so folders can be distinguished in the workspace. The display
name is not used in a repository or any other application.
Object Name The object name of the new folder.
Type The object type of the new folder. Click Select and select an object type from
the list, or click the Type link to create an object type. Object types, page 161
provides information about types.
Permission set The permission set assigned to the folder. Click Select and select a permission
set from the list, or click the Permission Set link to create a permission set.
Permissions, permission sets, and permission set templates, page 135 provides
information about managing permission sets.
4. Click the Aspects Tab to attach one or more aspects to the new folder. Click Add and select an
aspect from the list or create an aspect.
Aspect modules and aspect types, page 77 provides information about aspects.
5. Click the Attributes Tab to add one or more attributes to the new folder. Click Add and select an
attribute from the list.
6. Save your changes.
Adding a document
Use the Document option in the smart container editor to add an instance of an existing document to
the smart container. Since you are adding a document that exists in a repository, define the document
by adding the Documentum object ID for the document or its path.
To add a document:
1. Open the Smart Container editor, as described in Constructing a smart container, page 149.
2. Select the Document icon and click the workspace. The document appears in the smart
container workspace.
3. Click the Instance Info tab in the Properties view and define the document properties, as
described in the following table:
Parameter Description
Display Name The name of the document instance that appears in the workspace. This name
is for display purposes only, so document instances can be distinguished in
the workspace. The display name is not used in a repository or any other
application.
Object Id The 16-character Documentum object ID of the document instance.
Path The relative path for a location to which the document instance is linked.
To add a document:
1. Open the Smart Container editor, as described in Constructing a smart container, page 149.
2. Select the New Document icon and click the workspace. A new document appears in the
smart container workspace.
3. Click the New Instance Info tab in the Properties view and define the new document properties,
as described in the following table:
Parameter Description
Display Name The name of the new document instance that appears in the workspace.
This name is for display purposes only, so new document instances can be
distinguished in the workspace. The display name is not used in a repository
or any other application.
Object Name The object name of the new document instance.
Type The object type of the new document instance. Click Select and select an
object type from the list, or click the Type link to create an object type.
Object types, page 161 provides information about types.
Permission Set The permission set assigned to the document instance. Click Select and
select a permission set from the list, or click the Permission Set link to
create a permission set. Permissions, permission sets, and permission set
templates, page 135 provides information about managing permission sets.
4. Click the Aspects tab to attach one or more aspects to the new document instance. Click Add and
select an aspect from the list or create an aspect.
Aspect modules and aspect types, page 77 provides information about aspects.
5. Click the Attributes tab to add one or more attributes to the new document instance. Click Add
and select an attribute from the list.
6. Save your changes.
Adding a template
A smart container template is an existing document that you want to have copied into your smart
container at construction.
To add a template:
1. Open the Smart Container editor, as described in Constructing a smart container, page 149.
2. Select the Template icon and click the workspace. The template appears in the smart container
workspace.
3. Click the Template Info tab in the Properties view and define the template properties, as described
in the following table:
Parameter Description
Display Name The name of the template that appears in the workspace. This name is for
display purposes only, so new document instances can be distinguished in
the workspace. The display name is not used in a repository or any other
application.
Object Name The object name of the template.
Parameter Description
Permission Set The permission set assigned to the template. Click Select and select a
permission set from the list, or click the Permission Set link to create a
permission set. Permissions, permission sets, and permission set templates,
page 135 provides information about managing permission sets.
Based on
Object Id The 16-character Documentum object ID of the template.
Path The relative path for a location to which the template is linked.
4. Click the Aspects tab to attach one or more aspects to the template. Click Add and select an
aspect from the list or create an aspect.
Aspect modules and aspect types, page 77 provides information about aspects.
5. Click the Attributes tab to add one or more attributes to the template. Click Add and select an
attribute from the list.
6. Save your changes.
Adding a placeholder
A placeholder object is like a template object, but a placeholder object is not created at construction
time. A placeholder object lets a modeler indicate that other objects must be added later in order for
the composite object to be considered complete. A placeholder must be a leaf node.
To add a placeholder:
1. Open the Smart Container editor, as described in Constructing a smart container, page 149.
2. Select the Placeholder icon and click the workspace. The placeholder appears in the smart
container workspace.
3. Click the Placeholder Info tab in the Properties view and define the placeholder properties,
as described in the following table:
Parameter Description
Display Name The name of the placeholder that appears in the workspace. This name is
for display purposes only, so new placeholders can be distinguished in
the workspace. The display name is not used in a repository or any other
application.
Object Name The object name of the placeholder.
Type The object type of the placeholder. Click Select and select an object type
from the list, or click the Type link to create an object type. Object types,
page 161 provides information about types.
Required Specifies whether the placeholder must be assigned an object type.
To add a relationship:
1. Click Folder Member Link (arrow) or Relationship Link (straight line) to activate the linking
tool.
2. Click the first smart container object.
3. Click the second smart container object.
An arrow or straight line appears indicating that the two objects are now connected.
Managing SysObjects
SysObjects
The SysObject type is the parent type of the most commonly used objects in the Documentum system.
SysObjects are the supertype, directly or indirectly, of all object types in the hierarchy that can have
content. The SysObject type’s defined attributes store information about the object’s version, the
content file associated with the object, the security permissions on the object and other information
important for managing content. The SysObject subtype most commonly associated with content is
dm_document.
Creating a SysObject
Use the SysObject editor to create or modify a SysObject.
To create a SysObject:
1. In your Composer project, expand the Artifacts folder and right-click SysObjects. Select New >
SysObject.
The New SysObject dialog appears.
2. Enter the folder path and name of the project for which you want to create a SysObject in the
Folder field, or click Browse to select the project from a folder list.
3. Enter a file name for the SysObject in the Artifact name field, then click Next.
The Type, File, and Format dialog appears.
5. Click Add in the Attached Aspects section to attach one or more aspects to the SysObject.
The Aspect Module Artifact dialog appears.
6. Select an aspect from the list or click New to create an aspect.
Aspect modules and aspect types, page 77 provides information about aspects.
7. View or modify the SysObject attributes, as described in Viewing and modifying SysObject
attributes, page 159.
8. Save your changes.
Object types
An object type is like a template and represents a class of objects. Composer lets you create two types:
• Standard objects
• Lightweight objects
A set of attributes defines every object type. When an object is created, its attributes are set to values
that describe that instance of the object type. For example, two attributes of the document object type
are title and subject. When users create a document, they provide values for the title and subject
attributes that are specific to that document. The EMC Documentum Content Server Fundamentals
provides information about objects and object types.
Lightweight objects are part of an object model enhancement introduced to share system managed
metadata among objects which hold only application-specific data. For example, policies for security,
retention, and storage are stored in a regular system object that is shared among all the lightweight
objects. Because the system-managed metadata is stored only once, it significantly reduces the disk
storage requirements and improves the ingestion performance.
Note: Currently, only applications designed for Documentum High-Volume Server can make proper
use of lightweight objects. Documentum High-Volume Server is an extension of Documentum Content
Server that supports features implemented to solve common problems with large content stores, such
as email archiving. It requires an additional license key specified when installing Content Server. The
EMC Documentum High-Volume Server Developer Guide provides information about lightweight
object types and Documentum High-Volume Server.
2. Enter the folder path and name of the project for which you want to create an object type in the
Folder field, or click Browse to select the project from a folder list.
3. Enter a file name for the object type in the Artifact name field.
4. If the lightweight SysObject plug-in is installed, select Standard object type, then click Next.
Installing the lightweight SysObject plug-in, page 13 provides instructions on how to install the
lightweight SysObject plug-in.
The Type editor appears with the General tab selected.
5. Enter the object type information in the Info, Default Attached Aspects, Constraints, and Events
sections, as described in the following table:
Property Description
General
Type name A string that specifies the name of the type. The following rules
apply to all type names:
• A maximum of 27 characters, all lower-case. The Content
Server is case-insensitive and stores all type names in
lower-case.
• The first character must be a letter, the remaining characters
can be letters, digits, or underscores
• Cannot contain any spaces or punctuation
• Cannot end in an underscore (_)
Is Shareable Select if you want the properties of this type to be shareable
with other object types.
Supertype The supertype of the new type. A supertype is a type that is the
basis for another type. The new type inherits all the properties
of the specified supertype.
Click Select... and select a supertype from the listbox.
Storage area Specifies the default storage location for instances of this type.
If you do not assign a custom default storage location, Composer
automatically assigns the system default storage location.
Property Description
Default Attached Aspects Click Select... to specify one or more aspects that are attached
to instances of this type. Aspects let you modify the behavior
of type instances. Attaching aspects, page 165 provides
information about attaching aspects.
Events Events are specific actions on objects. You can only create and
modify application events, not system events. Click New to
enter a new event. To edit or remove an event, select the event
and click Edit or Remove, respectively. Adding, deleting, or
modifying events, page 169 provides information about creating
an event.
Only events defined for this type Select this option to display events that are defined for this type
in the events table.
All events including inherited from Select this option to display all events for this type in the events
supertype table, including events that are inherited from the supertype.
Event name A string specifying the name of the event that is associated with
instances of this type.
Event label A string that specifies the label for the event.
7. Click New to add a type attribute. Enter information in the Structure and Constraints sections, as
described in Adding type attributes, page 170.
8. Click the Display tab.
The Type UI Information view appears.
9. Enter the type UI information in the Application Interface Display and Display Configuration
sections, as described in Configuring the type UI information, page 178.
Attaching aspects
When you create an object type, you can also assign aspects that are attached to the object type by
default.
To attach an aspect:
1. Click Add in the Default Attached Aspects section of the General tab in the type editor.
The Aspect Module Artifact dialog appears.
2. Select an aspect from the Matching Artifacts listbox, then click OK.
Note: If there are no aspects listed in the Matching Artifacts listbox, no aspects have been created
yet. Creating an aspect type, page 77 information about creating an aspect.
5. Enter the object type information in the Info, Constraints, and Events sections, as described in
the following table:
Property Description
General
Property Description
Type name A string specifying the name of this lightweight object type.
The following rules apply to all type names:
• A maximum of 27 characters, all lower-case. The Content
Server is case-insensitive and stores all type names in
lower-case.
• The first character must be a letter, the remaining characters
can be letters, digits, or underscores
• Cannot contain any spaces or punctuation
• Cannot end in an underscore (_)
Shared Parent The parent object type that is sharing its properties with this
lightweight object.
Supertype The supertype of this lightweight object type. A supertype is a
type that is the basis for another type. The new type inherits all
the properties of the specified supertype.
Click Select... and select a supertype from the listbox.
Materialization Behavior Specifies when this lightweight object type shares a parent
object or has its own private copy of a parent.
A lightweight object is classified as unmaterialized when
it shares a parent object with other lightweight objects.
A lightweight object is classified as materialized, when a
lightweight object has its own private copy of a parent.
Materializing a lightweight object can drastically increase the
size of database tables.
The materialization behavior can be set to the following values:
• Auto-Materialize: The lightweight object is materialized
automatically when certain operations occur, for example a
checkout or checkin operation or a branch operation.
• On-Request: The lightweight object is materialized only
when requested by an explicit API call. EMC Documentum
Archive Developer Guide provides information on the APIs
that can be used to materialize a lightweight object.
• Disallow: The lightweight object is never materialized.
By default the materialization behavior is set to
Auto-Materialize.
Property Description
Enforcement
Specifies whether applications should enforce this constraint or
not. Click the table cell in the Enforcement column to enable or
disable constraint enforcement for the associated expression.
The enforcement field can have two values, as follows:
• disabled: The constraint is disabled
• ApplicationEnforced: The constraint is enforced by the
applications that use this type.
Events Events are specific actions on objects. You can only create and
modify application events, not system events. Click New to
enter a new event. To edit or remove an event, select the event
and click Edit or Remove, respectively. Adding, deleting, or
modifying events, page 169 provides information about creating
an event.
Only events defined for this type Select to display events that are defined for this type in the
events table.
All events including inherited from Select to display all events for this type in the events table,
supertype including events that are inherited from the supertype.
Event name A string that specifies the name of the event that is associated
with instances of this type.
Event label A string that specifies the label for the event.
7. Click Add to add a new type attribute. Adding type attributes, page 170 provides information
about adding type attributes.
8. Click the Display tab.
The Type UI Information view appears.
9. Enter the type UI information in the Display Configuration and Application Interface Display
sections, as described in Configuring the type UI information, page 178.
2. Type a valid Docbasic constraint expression that resolves to true or false in the Expression text
box. The Docbasic expression resolves to true when the constraint is fulfilled and false when the
constraint is violated.
The Reset button returns the contents of the Constraint Expression text box to the last value that
passed a syntax test.
3. Type a message for applications to display when the constraint is violated in the Error message
when constraint is violated text box.
4. Select Enforce Constraint to instruct applications to enforce this constraint or clear the checkbox
to not enforce the constraint.
5. Click OK to save your changes.
2. Enter a name for the event, then click OK. The event appears in the event table.
3. Configure the attribute structure, as described in Configuring the attribute structure, page 171.
4. Configure the attribute constraints, as described in Configuring attribute constraints, page 172.
5. Click the UI icon in the Attribute pane to display the attribute’s UI configuration options.
6. Configure the attribute’s UI options, as described in Configuring the type attribute UI, page 173.
7. Click the Value mapping icon to display the attribute’s value mapping options.
8. Configure the attribute conditions, as described in Configuring conditional attribute values, page
175.
9. Configure the attribute value mapping, as described in Configuring attribute value mapping,
page 177.
Property Description
Name A string specifying the name of the new attribute. The attribute name must
use all lowercase letters, cannot begin with dm_, a_, i_, r_, a numeral,
space, or single quote, and cannot be named select, from, or where.
Data type The data type of the new attribute. Select one of the following data types
from the drop-down list:
• BOOLEAN
• INTEGER
• STRING
• ID
• TIME
• DOUBLE
• UNDEFINED
Length This parameter only applies to attributes that use the STRING data type.
Enter the number of characters for this attribute. The maximum number
of characters that you can assign to this attribute depends on the database
where you install the application.
Repeating Specifies whether this attribute can have more than one value. Select the
checkbox to allow more than one value for this attribute.
Property Description
Non-qualified Specifies whether this attribute is qualifiable or non-qualifiable.
The properties and values of a non-qualifiable attribute are stored in a
serialized format. They do not have their own columns in the underlying
database tables that represent the object types for which they are defined.
Consequently, non-qualifiable attributes cannot be used in queries because
they are not exposed in the database.
Default values Lets you specify one default value for a single-value attribute or multiple
default values for a repeating attribute. Click New to enter a default value.
Constraints are internal consistency requirements in the form of Docbasic expressions that relate the
types attribute values to one another or to constant values.
Enter or specify the attribute constraint properties, as described in the following table:
Property Description
Expression The Docbasic expression that defines the constraint. Click New
to create an expression. Configuring constraint expressions,
page 79 provides information about how to create or modify an
expression.
Property Description
Enforcement Specifies whether applications should enforce this constraint or
not. Click the table cell in the Enforcement column to enable or
disable constraint enforcement for the associated expression.
The enforcement field can have two values, as follows:
• disabled: The constraint is disabled
• ApplicationEnforced: The constraint is enforced by the
applications that use this type.
Ignore supertype constraints when Select to specify that applications should ignore supertype
executing application constraints for attributes of this type.
Attribute cannot be blank Select to specify that the attribute must have a value. End users
must enter a value for this attribute when the application executes.
Attribute is read-only Select to specify that the attribute is read-only. End users cannot
change the value of the attribute when the application executes.
Attribute can have NULL value Select to specify that the attribute does not need to have a value
assigned. End users do not need to enter a value for this attribute
when the application executes.
Attribute can be modified on immutable Select if you want users to be able to modify the attribute even
objects though the object itself is immutable (unchangeable).
Enter or specify the attribute UI properties in the General and Search sections, as described in the
following table:
Property Description
General
Label The name that is displayed for this attribute in the client
application.
Input mask Specifies the characters and format that an end user can enter
for this attribute using the client application. An input mask
consists of mask characters and literals. A backslash (\) converts
the character following it to a literal. The input mask can have the
following values:
• #: Numeric characters (0-9).
• A: Alphanumeric characters (0-9, a-z, A-Z)
• &: Any ASCII character
• ?: Alphabetic characters (a-z, A-Z)
• U: Alphabetic, gets converted to uppercase
• L: Alphabetic, gets converted to lowercase
For input mask examples, see Input mask, page 175.
Category A string that specifies a custom tab that is displayed in Desktop
client. The value entered in the category field is used unless the
inheritance with the parent types display configuration is broken
or a display configuration is already specified for either the type or
its parent.
Property Description
User help Optional description for the type that is displayed in the
application.
Comment for developers Optional comments for developers.
Search
Is searchable Specifies whether an attribute is searchable. Select this option to
enable clients to allow users to search a repository for attribute
values in objects, if the objects are derived from the attribute’s
type.
Available operators Lists the operators that can be specified for an attribute search.
Select one or more operators and click Add to move the operators
to the Allows operators column.
Allowed operators Specifies the search operators than a client application can use
to search for an attribute value.
Default search value The search value that clients display by default. Optional
parameter. If no default search value is specified, the client
displays a blank field.
Default search operator The search operator that clients display by default. Optional
parameter. If no default search operator is specified, the client
displays a blank field.
Input mask
The following table shows a mask value and an example of valid user input:
• Conditional value mapping: Values are displayed when a specified condition is satisfied, for
example, when the values displayed in one attribute depend on the value of another attribute.
Conditional value mappings are configured in the Conditional Assistance section of the Value
Mapping view:
Property Description
Expression A Docbasic expression that specifies the condition. The Docbasic
expression must resolve to true or false.
Property Description
Fixed list Specifies that the values are associated with the condition in the
form of a fixed list. Select this option to use a fixed list of values
and type the respective values in the Values field.
Values Specifies the values that are associated with the condition. Type
the value in the Value field, separated by a comma. String values
must be entered on separate lines.
List is complete Specifies that the user cannot add any more values to the list.
Query Specifies that the values that are associated with the condition are
obtained by a query. Enter the query in the Query textbox. You
can use the $value keyword to resolve attribute values at runtime.
Allow cached queries Select to allow cached queries.
Query attribute providing data Specifies the query attribute that contains the data value for the
condition. Enter the name of the query attribute.
2. Click the dataValue field in the Attribute Value column and enter the attribute value that is
saved in the repository.
3. Click the displayValue field in the Display String column and enter the string that is displayed
as the mapped value in the client application.
4. Click the field in the Description column to enter a string that describes the value mapping.
To remove a value mapping, select the corresponding row in the Value Mapping Table and click
Remove.
To configure one or more attributes to display in clients, enter the type UI information as described
in the following table:
Property Description
Application Interface Display
Type label A string that the client application displays for this type.
User help Optional description for the type that is displayed in the
application.
Comments for developers Optional comments for developers.
Display Configuration
Scope The name of the application in which the type attribute is
displayed. The name of the application must exist in the
repository.
Property Description
Display configuration list Specifies the tab on which the attribute is displayed. You can
add, remove, rename, and change the position of a tab, as
follows:
• To add a tab, click New. The Display Configuration dialog
appears. Adding a tab, page 179 provides information about
how to add a tab to display an attribute in a client application.
• To remove a tab, select the tab name in the list, then click
Remove.
• To rename a tab, select the tab name in the list, then click
Rename.
• To change the order in which the tabs display, select the tab
name in the list, then click Up or Down to move the tab to the
desired position.
Attributes in display configuration Lets you modify the attributes that are displayed on a tab.
Adding a tab
Use the Display Configuration dialog to add a tab.
To add a tab:
1. Click New in the Display Configuration List section of the Type UI Information view.
Configuring the type UI information, page 178 shows the Type UI Information view.
A default tab (NewConfig1) for the new tab appears in the Display Configuration List textbox.
2. Select the default tab and then click Edit.
The Display Configuration dialog appears.
2. In the Artifact name field, enter the name that you want to give to the XML Application artifact.
3. Do one of the following:
• If you have an existing XML configuration file that you want to use, select Use an existing
configuration file on the file system and then click Browse to find the file.
• Select Use Documentum’s default configuration file as a template.
4. Click Finish.
The XML Application editor appears with the General tab selected.
5. In the Root Elements section, add root elements that you want to process by doing one of the
following:
• Select a root element from the Select a root element list.
• Enter a root element in the Or type a new root element to add field.
When done, click Add.
6. Click the Advanced tab to specify a DTD or Schema to validate XML applications if you want
to use one.
4. Modify the XML configuration file as desired, then save your changes.
Note: If you added or deleted references to repository objects in the XML application configuration
file, make the same modifications in your project.
2. Specify the installation options for the project, as described in the following table:
4. Enter the parameter name, type, optional description, and default value, as follows:
Parameter Description
Parameter name A string specifying the name of the owner installation parameter.
Parameter type A string specifying the type of the owner installation parameter. The type
is set to Principal (User or Group) Installation Parameter by default
and cannot be changed.
Description An optional description of the owner installation parameter.
Default value An optional default value for the owner installation parameter. If you
specify a default value for the owner installation parameter, the owner
must be a valid user in the repository where the project is installed.
5. Click Finish.
3. Click the Select button next to the Pre-installation procedure or Post-installation procedure
field.
The Procedure Artifact dialog appears.
4. Select a procedure from the Matching Artifacts list or click New to create a procedure.
5. Click OK.
2. Configure the install options for the artifact, as described in the following table:
Installing a project
After you create your project and you are ready to deploy the application, build and install the
application in a repository. If you are using a source control system, check out the project from source
control before you build and deploy the application.
To install a project:
1. In the Documentum Project Navigator view, right-click the project you want to install and select
Install Documentum Project from the drop-down menu. Composer automatically builds the
project in the background. Any errors during the build process are displayed in the Error view.
The Installation Settings dialog appears.
3. Click Next.
The Edit Installation Parameter File Values dialog appears.
The installation parameter table lists the name, type, and default value for each installation
parameter. Note: You can change the default value for each installation parameter and save the
new value to an input parameter file. Creating an installation parameter file, page 195 provides
information about creating an input parameter file.
4. Click Finish to install the project in the repository.
Note: If you install a project in the repository, then edit the project in Composer and remove one
or more objects and re-install the project, the old objects remain in the repository. Composer
does not delete objects from the repository during installation, even if the objects were removed
from the project itself.
2. Enter a name for the new installation parameter, then click Next.
The Installation Parameter Artifact dialog appears:
3. Select a parent folder for your installation parameter file and enter a file name in the File name
field, then click Next.
The secondary InputFile Model dialog appears.
4. In the Model Object drop-down list, select Installation Parameter File. In the XML encoding
drop-down list, select UTF-8. Next, click Finish.
Composer creates an input parameter file and displays the file in the Resource Set view.
2. Create a target to import the projects that you want to work with into the headless Composer
workspace with the emc.importProject task. You can also create new projects with the
emc.createArtifactProject task. You either have to create or import a project into the workspace
before you call any other Ant task.
3. Make modifications that you want to the project with the emc.importArtifacts or emc.importContent
tasks.
4. Create a target to build the project with the emc.build task. Call this task before the emc.dar task to
ensure that the DAR file contains the latest built code.
5. Create a target to generate the DAR file with the emc.dar task. Call this task before the emc.install
task to ensure that the code built from emc.build task makes it into a new DAR file that you can
install later.
6. Create a file named install.xml.
7. Create a target to install the DAR file with the emc.install task.
username="Administrator"
password="emc"
domain="" />
</target>
</project>
Note: If you are installing a DAR file that depends on other reference DAR files, install the reference
DAR files first and in the same Ant script as the DAR file that you want to install. You must do this
even if you previously installed the reference DAR files.
REM Sets the workspace directory where Composer builds the projects
REM that you want to install to a repository
SET BUILDWORKSPACE="C:\ComposerHeadless\example build\build_workspace"
REM Sets the workspace directory where Composer extracts built DAR files
REM before installing them to a repository
SET INSTALLWORKSPACE="C:\ComposerHeadless\example build\install_workspace"
RMDIR /S /Q %INSTALLWORKSPACE%
emc.importProject
The emc.importProject task imports a Documentum project into the headless Composer workspace. A
project must be imported into the workspace before you can build or install it.
Syntax
<emc.importProject
dmproject="project_name" />
The following table describes the emc.importProject parameter:
Parameter Description
dmproject Specify the name of the project that you want to import.
emc.createArtifactProject
The emc.createArtifactProject task creates a Composer project.
Syntax
Elements and attributes in brackets are optional.
<emc.createArtifactProject name="project_name" [overwrite="true|false"]>
[<projectReferences [failOnMissingReferences="true|false"]>
<project name="reference_project_name"/>
<projectReferences>]
</emc.createArtifactProject>
The following table describes the emc.createArtifactProject parameters:
Parameter Description
emc.createArtifactProject The emc.createArtifactProject task specifies the project to create. It can also
task contain the projectReferences element that specifies reference projects for the
project that you are creating.
name Specify the name of the project that you want to create.
overwrite Specify true if you want existing projects overwritten, false otherwise.
The default is false.
Parameter Description
projectReferences element Specify this element to assign reference projects to the project. Reference
(optional) projects must be imported into the workspace by using the emc.importProject
command.
The projectReferences element contains project elements that specify reference
projects for the project that you are creating. A projectReferences element
can contain multiple project elements.
failOnMissingReferences Specify true if you want the build to fail if the reference projects are not
(optional) available, false otherwise. The default behavior is set to false.
project element The project element specifies the name of the project that you want to designate
as a reference project. You can specify multiple project elements.
name Specify the name of the project that you want to designate as a reference
project. The project must already be imported into the headless Composer
build workspace with the emc.importProject task.
Example
The following target creates a project named Test. It sets the overwrite attribute to true, which
overwrites any existing project with that name. It defines MyReferenceProject as a reference project
and sets the failOnMissingReferences attribute to true, which causes the creation of the project to fail if
the reference project does not exist.
<emc.createArtifactProject name="Test" overwrite="true">
<projectReferences failOnMissingReferences="true">
<project name="MyReferenceProject"/>
</projectReferences>
</emc.createArtifactProject>
emc.createTaskspaceApplicationProject
The emc.createTaskspaceApplicationProject task creates a Composer project from a TaskSpace
application.
Syntax
Parameter Description
emc.createArtifactProject The emc.createTaskSpaceApplicationProject task specifies a project to create
task from an existing TaskSpace application in a repository. It gives the Composer
project the same name as the TaskSpace application. You can also declare the
projectReferences element to specify reference projects for the project that you
are creating. Reference projects must be imported into the workspace before
you can use them.
name Specify the name of the project that you want to create.
docbase The name of the repository where the TaskSpace application resides.
username The username to login to the repository.
password The password for the username.
projectReferences element The projectReferences element contains project elements that specify reference
(optional) projects for the project that you are creating. A projectReferences element can
contain multiple project elements.Specify this element if you want to assign
reference projects to the project. Reference projects must be imported into the
workspace using the emc.importProject command.
project element The project element specifies the name of the project that you want to designate
as a reference project. You can specify multiple project elements.
name Specify the name of the project that you want to designate as a reference
project. The project must already be imported into the headless Composer
build workspace with the emc.importProject task.
Example
<emc.createTaskSpaceApplicationProject name="TaskSpaceApp" docbase="repository"
username="dmadmin" password="n0lif3">
<projectReferences>
<project name="TSWorkflows"/>
</projectReferences>
</emc.createTaskSpaceApplicationProject>
emc.importArtifacts
The emc.importArtifacts task imports artifacts from a repository into a specified project.
Syntax
Parameter Description
project Specify the name of the project that you want to import the artifact into.
docbase Specify the repository name where the artifact resides.
username Specify the user to login to the repository with.
password Specify the password to login to the repository with.
domain Specify the domain of the user.
objectIdentities element Contains id, path, or qualification elements that specify the identities of the artifacts
to import. The objectIdentities element contains the identities of the object in the
repository that you want to import. Each identity element has one attribute, value,
that specifies the value of the identity.
id element Used to specify the object ID of the artifact in the repository.
path element Used to specify the path of the artifact in the repository.
qualification element Used to specify the DQL qualifier for the artifact in the repository.
Example
For example, the following target imports artifacts from test_repository into the Test project. The
artifacts to import are declared with the objectIdentities, which specifies one object by object ID,
one by path (i.e. must be a sysobject), and one by DQL qualifier (typically used for importing
non-sysobjects such as a type or group).
<emc.importArtifacts project="Test" docbase="test_repository"
username="dmadmin" password="n0lif3">
<objectIdentities>
<id value="08000001800737f7"/>
<path value="/System/Applications/Collaboration Services/CreateAcl"/>
<qualification value="dm_group where group_name = ’my_group"/>
</objectIdentities>
</emc.importArtifacts>
emc.importContent
The emc.importContent task imports or updates a content file in a specified artifact and project.
Currently, the emc.importContent command only supports importing content into procedure artifacts
and JAR definitions.
Syntax
<emc.importContent
dmproject="project_name"
artifactpath="path/to/artifact"
contentfile="path/to/content"
contentid="content_id" />
The following table describes the emc.importContent parameters:
Parameter Description
dmproject Specify the name of the project containing the artifact into which the content is
imported.
Parameter Description
artifactpath Specify the path name of the artifact relative to the project, including the name of
the artifact itself, for example: Artifacts/JAR Definitions/myjardef.
contentfile Specify the absolute file path of the content file to import. The file must exist in a
readable format. If specifying a relative path, the path is relative to the location
of the Ant script.
contentid (optional) Specify the identifier of the content. If specified, the contentid is used to uniquely
name the content within the content store of the project. If no contentid is specified,
Composer generates and assigns a random name.
emc.build
The emc.build task builds a Composer project, which can then be passed into the emc.dar task to
generate a DAR file.
Syntax
emc.dar
The emc.dar task generates a DAR file from a Documentum project. The emc.dar task depends on the
output from the emc.build task and must run in the same Java process. Define both tasks in the same
Ant script and call them within the same build to ensure proper functionality.
Syntax
<emc.dar
dmproject="project_name"
manifest="bin/dar/project_name.dardef.artifact|default.dardef.artifact"
dar="path/to/dar/dar_name.dar" />
The following table describes the emc.dar parameters:
Parameter Description
dmproject Specify the name of the project that you want to build a DAR file from.
Parameter Description
manifest Specify the relative file path to the project.dardef.artifact or default.dardef.artifact
file that is located in the bin/dar directory of your project. This file is usually named
default.dardef.artifact unless the project was created by importing a DocApp from a
repository. In this case, the file is named project.dardef.artifact, where project is
the name of your project. However, an empty default.dardef.artifact file is still
created in this case.
dar The absolute file path to the target .dar file. The .dar file must not exist yet.
emc.install
The emc.install task installs a project’s DAR file into a repository.
Syntax
Note: If you are installing a DAR file that depends on other reference DAR files, install the reference
DAR files first and in the same Ant script as the DAR file that you want to install. You must do this
even if you previously installed the reference DAR files.
The following table describes the emc.install parameters:
Parameter Description
dar The absolute file path to the .dar file being installed. The file path must contain only
Unicode (UTF-8) characters or the installation fails.
docbase The name of the repository into which the .dar file is installed.
username The login name for the repository.
password The password for logging in to the repository.
localesFolder (optional) The absolute file path to localized .properties files. If you want to make your
application available in other languages, localize the project data, for example
labels, tabs, and descriptions. Localizing a Composer project, page 30 provides
information about localizing a project.
inputfile (optional) The absolute file path to the install-based parameter file.
domain (optional) The domain in which the repository resides.
If you want to enable debugging messages during the installation, call the following Ant task to set
logging preferences:
<emc.preferences logTraceMessages="false" logDebugMessages="true />
emc.setUpgradeOption
The emc.setUpgradeOption task allows you to set upgrade options while installing the project file.
Syntax
<emc.setUpgradeOption dmProject="project_name" artifactPath="path/to/artifact"
option="OVERWRITE/VERSION/IGNORE">
The following table describes the emc.setUpgradeOption parameters:
Parameter Description
dmproject Specify the name of the project for which you want to set the upgrade options.
artifactpath (optional) Specify the path name of the artifact relative to the project. It can be
a path of an artifact file or a folder containing artifacts. For example,
Artifacts/SysObjects/mysysobject.sysobject and Artifacts/SysObjects.
If you specify the artifactpath, the upgrade option is applied to a specific artifact.
Otherwise, the upgrade option is applied to a project.
option Specify the upgrade options. The available options are: OVERWRITE, IGNORE,
and VERSION.
This task allows you to set multiple upgrade options to VERSION an artifact and OVERWRITE
another artifact. You can set these options for the entire project, an artifact set, or a specific artifact.
org.eclipse.ant.core.antRunner -buildfile
$DM_HOME/install/composer/deploy.xml
Note: If you are installing a DAR file that depends on other reference DAR files, you cannot use the
supplied deploy.xml script. Create your own Ant script that contains targets to install the reference
DAR files first and then install the DAR file. These targets must be in the same Ant script and must be
run in the same call to Ant.
Checking in projects
The following guidelines are recommended when using a source control system:
• Check in the project, not the Composer workspace since workspaces are personalized.
• Check in the following Documentum project directories and files:
– artifacts
– content
– dar
– Web Services
– src (even if this folder is empty)
– all non-directory files at the root of the project (such as .classpath, .dmproject, .project, and
.template)
Other directories, such as bin and bin-dar, and the files that are in them are derived resources and
should not be checked in.
4. Select the Select root directory field and enter the path to the root directory where your checked
out projects are located, or click Browse to search for the root directory. The available projects
display in the Projects list box.
Note:
• If you do not see the projects that you want to import in the Projects list-box, verify that you do
not have a previous version of the project in your Composer workspace. You can only import
projects that do not exist in your local Composer workspace.
• The Select archive file option is not supported in Composer 7.2.
5. Select the projects to import then click Finish.
Do not select the Copy projects into workspace option.
General Questions
• Can I use Composer with a Documentum 6.0 or 5.3 repository?
Yes, you can use Composer with a Documentum 6.0 or 5.3 repository as long as you are not trying
to install BPM artifacts or artifacts that leverage new Documentum functionality, such as Smart
Container (introduced after Documentum 6.0) or Aspects (introduced after Documentum 5.3). The
latest version of Composer supports Documentum versions 5.3 SP6 and later.
• Can I use Composer to migrate cabinets, folders, or content from one repository to another?
We do not recommend using Composer in this fashion because Composer was designed for
application development and not data migration. Therefore, if you have a lot of cabinets, folders,
and content, we cannot guarantee good migration performance. If the folders and content are
related to application development and setup, such as an XML Application Folder with supporting
documents, it is acceptable to import those into a Composer project.
• Do you offer Composer as a set of plug-ins so that I can install Composer plug-ins on top of my
version of Eclipse?
No, for supportability reasons and ease of installation, Composer is available only as an entire
package with Eclipse embedded in it.
• Do you support Linux or Solaris?
We support using headless Composer on Linux and Solaris with a caveat. We do not ship a
separate version of Composer for Linux or Solaris. The Content Server Installer includes a version
of headless Composer that has been configured with the correct environment variables for these
two operating systems.
• What is a Documentum supplied reference project? Why do I need it?
Documentum supplied reference projects are non-buildable projects that allow you to use or extend
artifacts whose names begin with ’dm’ (Documentum artifacts). Composer does not allow you to
have ’dm’ artifacts in your projects to prevent unintentional changes to Documentum artifacts in the
repository. You must designate the appropriate reference project to use or extend a ’dm’ artifact.
• Can I install individual artifacts?
Currently, artifacts must be installed as part of a Composer project.
DAR Files
• What is a DAR file?
A DAR file is a packaged output file of a Composer project. It contains artifacts that you install to a
repository with the DAR Installer plug-in or headless Composer, but does not contain the source
code for artifacts. An analogy would be a JAR file compared to a Java source code. A DAR file is
the Composer equivalent of a DAB DocApp archive.
• How do I install DAR files?
Use the DAR Installer or headless Composer with Ant tasks. The Composer UI cannot install
DAR files.
• My DAR installation fails with the error "Unzipped resource must exist (<artifact path\artifact
name>)”. What is wrong?
The unzipped artifact file path length has exceeded the allowed length in Windows. You can reduce
the file path length by installing Composer to the system root folder or to a folder that doesn’t
have a long path.
• I try to launch the DAR Installer UI by running darinstaller.exe and I get errors. What is wrong?
– You do not have a compatible Java environment installed or JAVA_HOME is not set. You can
check this by running the ’java-version’ command on the command line. If the system does not
recognize the Java command or the version is not compatible, install the supported version of
Java and set the JAVA_HOME environment variable to point to the Java installation.
– The darinstallerstartup.jar file is missing in the Composer directory or darinstaller.exe is
running from a wrong directory. You must run darinstaller.exe from the Composer root
folder. If darinstallerstartup.jar is missing, reinstall Composer. The following command
either starts the DAR Installer or produces an error: java\-cp darinstallerstartup.jar
com.emc.ide.installer.darinstaller.starter.DarInstallerStarterMain.
In DAB, you could explicitly invoke a menu item to validate a lifecycle. In Composer, lifecycles
are validated automatically at install time. There is no need to manually validate a lifecycle in
Composer. If the lifecycle fails validation, an error is displayed and the installation of the Composer
project fails.
• How do I uninstall lifecycles?
We do not support uninstallation of lifecycles, but we do support deactivating a lifecycle. To
deactivate a lifecycle, check the Inactivate lifecycle checkbox that is in the Overview tab in the
Properties window and re-install the Composer project.
• How do I create workflow templates in Composer?
Composer does not have a workflow editor integrated into the IDE. The Workflow Manager tool is
included with Composer and is located in the <Composer_root>\WorkflowManager directory.
• Can I import Workflow templates into Composer?
Workflow templates and BPM process templates are based on the same infrastructure. We chose to
use BPM terms in the Composer UI. If you use Composer and try to import individual artifacts from
the repository, select the Artifact type to be "Process Template", and your workflow template should
show up. The steps to import an individual workflow template/BPM process template are:
1. Right click on a Composer Project and select Import...
2. From repository, go to Documentum -> Artifacts.
3. Enter repository credentials.
4. In the Artifact Type drop-down, select Process Template.
• I want to import a workflow template into Composer with the intention of migrating the template
from a development environment to a QA environment. When I install the template, should I choose
version or overwrite as an installation option?
Documentum does not have an overall best practice for this situation. The two options are described
in the following list:
– Overwrite - Documentum overwrites the existing workflow template in the target environment.
This means that any workflow that is in process will be affected by the new workflow template.
You have to decide whether or not this is appropriate for your use case.
– Version - Documentum versions the existing workflow in the target environment. Workflows
that are in process will use the old version of the workflow while any newly created workflow
processes will use the new template. The default behavior in Documentum is to overwrite.
• Composer seems to import incorrect versions of workflow and form templates. Sometimes it imports
the latest installed version and sometimes it imports a draft version. What is going on?
Composer will always pull the CURRENT version of a workflow or form template. We do not look
at the status of the object (Draft, Installed, etc.) If your goal is to always pull the latest installed
version, then it is up to your developers to ensure that the latest installed version has the CURRENT
label.
• I have a sizeable TaskSpace Application that includes five workflow templates, 20-30 form
templates, and 20-30 UI templates. Each workflow template has hundreds of activities. Does
Documentum have any best practices around structuring the Composer Projects? Should it be one
Composer project or multiple Composer projects?
From a performance standpoint, it makes no difference whether it is multiple Composer projects, or
one large Composer project because the total number of installed artifacts remains the same.
However, there could be advantages to having multiple Composer projects, depending on the way
you develop applications. For example, if you expect that a certain workflow will change frequently,
then it may be a good idea to have that workflow in a separate Composer project. That way, you can
install the workflow without having to re-install the entire TaskSpace application.
We suggest that you start Composer with a sufficiently large maximum heap size. You can change
the heap size by opening the <Composer_root>/eclipse.ini file and editing the ’-Xmx’ option.
Change the value to 1024m if it is not already set. The option should appear as ’-Xmx1024m’
when you are done editing.
Composer vs DAB/DAI
• What is the difference between Composer and DAB/DAI?
DAB/DAI is an MFC-based application that was used to configure Documentum artifacts.
Composer is intended to replace DAB/DAI and is built on top of the Eclipse infrastructure.
• Why do I need to use Composer? Why can I not keep using DAB/DAI?
In the near future, DAB/DAI will go through the end-of-life process.
• Can I use DocApps and DARs interchangeably? Can I use Composer and DAB/DAI
interchangeably?
No, you cannot use DocApps and DARs interchangeably. It is recommended that you switch to
Composer as soon as it is feasible.
• I am trying to convert my DocApp. What is a migration repository?
In Composer, the process for converting a DocApp archive involves installing the DocApp archive
to a repository, then creating a Composer project based on the installed DocApp. A migration
repository is the repository where you would like to install the DocApp archive. As a best practice,
this migration repository should be one where the DocApp archive has not been installed previously,
and none of the artifacts that are contained in the DocApp archive should exist in the repository.
• Can I migrate from a 5.3SPx DocApp to a 7.2 Composer project?
Yes, you can go straight from 5.3 SPx to 7.2.
D G
DAR file generating, DAR file, 206
generating, 191
generating using Ant, 206
installing using Ant, 207 H
DAR files, 214
DAR Installer, 214 headless Composer
DFS building project, 206
catalog services, 59 generating DAR, 206
module options, 58 installing, 13
services library, 58 installing DAR, 207
differences, Composer and DAB/DAI, 216 setting upgrade options, 208
display configuration, object type, 179
DocApp
importing, 38 I
DocApp archive importing
converting, 40 artifacts, 28
importing, 40 DocApp, 38
document owner, lifecycle editor, 116 DocApp archive, 40
document renderer, lifecycle editor, 116 external project, 21
document, smart container, 152 web service, 62
Documentum artifacts, 25 input mask, 175
Documentum Solutions perspective, 61 input parameter file, 195
Documentum supplied reference project, 213 install
artifact options, 189
parameters, 186
E project options, 186
EAR file, 69 install, DAR files, 214
editor installation options
alias set, 73 overwrite, 214
aspect module, 86 version, 214
aspect type, 78 installing
catalog services, 67 Composer, 12
format, 93 DAR file using Ant, 207
JAR file, 98 project using Composer, 186
Java library, 99 installing Composer language packs, 16
job, 123 Installing Composer language packs, 16
lifecycle, 102
lightweight object type, 166
method, 121 J
module definition, 127 JAR
permission set, 140 editor, 98
relation type, 145 overview, 97
smart container, 149 JAR definition, creating, 97
SysObject, 157 Java library
XML, 183 editor, 99
emc.build command, 206 linking, 99
emc.dar command, 206 overview, 97
emc.importProject command, 202 job editor, 123
emc.install command, 207 JRE, configuring, 15
events, object type, 169
exporting, Web service, 69
F
folder, smart container, 151
format editor, 93
L O
lifecycle object
document owner, 116 smart container, 149
document renderer, 116 SysObject, 157
editor, 102 object type
location links, 113 aspect attribute constraints, 82
object types, 101 attribute, 170
permission sets, 117 attribute constraints, 172
post-change information, 118 attribute structure, 171
properties, 103 attribute UI, 173
repeating attributes, 109 definition, 161
state actions, 109 display configuration, 179
state attributes, 118 events, 169
state entry criteria, 107 input mask, 175
state type, 106 UI, 178
states, 105
version labels, 112
lifecycles and workflows P
create workflow templates, 214
import workflow templates, 214 permission set
uninstall lifecycles, 214 creating, 135
validate lifecycles, 214 lifecycle, 117
lightweight object public, 140
creating, 166 regular, 140
description, 161 template, 137
materialization, 167 permission set editor, 140
linking, Java library, 99 permissions
localization template, 30 basic, 136
localizing projects, 30 extended, 136
location links, lifecycle editor, 113 overview, 135
perspective, Documentum Solutions, 61
placeholder, smart container editor, 154
M post-change information, lifecycle editor, 118
procedure editor, 143
materialization, 167 project, 19
method editor, 121 building, 185
module building using Ant, 206
aspect, 127 checking into source control, 211
class name, 88 configuring DFS module, 58
configuring deployment, 130 creating, 19
creating, 127 creating from DocApp, 38
editor, 127 creating from DocApp archive, 40
implementation JARs, 88 DFS services library, 58
interface JARs, 88 import from source control system, 211
runtime environment, 131 importing, 21
service-based (SBO), 127 input parameter file, 195
type-based (TBO), 127 install options, 186
installation procedures, 188
localizing, 30
referencing, 24
properties
alias set, 75
lifecycle, 103
publish, Web service, 68
R T
referencing, other projects, 24 TBO, 127
relation type template, smart container, 153
ad hoc, 145 tracing, enabling, 35
editor, 145 type
system , 145 attaching aspects, 165
relationship, smart container editor, 155 attribute, 170
repeating attributes, lifecycle editor, 109 attribute input mask, 175
repository, dfc.properties file, 14 constraint expressions, 169
runtime environment editor, 166
aspect module, 90 type UI, 178
module, 131 type-based module, 127
S U
SBO, 127 uninstall, Composer projects or DARs, 213
service catalog, import service, 62
service-based module, 127
setting, upgrade options, 208 V
smart container
definition, 149 value mapping, object type, 175
document, 152 version labels, lifecycle editor, 112
editor, 149
folder, 151
new document, 152 W
new folder, 151 web services
placeholder, 154 catalog services, 59
relationships, 155 consuming a service, 64
template, 153 DFS module, 58
source control system Documentum Solutions perspective, 61
building project, 212 importing a service, 62
checking in projects, 211 WSDL, 66
using, 211 Web services
state exporting, 69
actions, 109 publishing, 68
attributes, 118 Workflow Manager, starting, 13
entry criteria, 107 workspace
type, 106 configuring, 14
storage installation parameter, 190 WSDL, 66
support, Linux or Solaris, 213
SysObject
attributes, 159 X
definition, 157
editor, 157 XML application
system relation type, 145 configuration file, 183
description, 181
editor, 183