What is Documentum?
Documentum is enterprise content management software that provides management of content and attributes such as check-in, check-out, workflow and version management. Documentum provides management capabilities for all types of content including business documents, images, video, e-mail, Web pages, fixed content, XML-tagged documents, etc. The core of Documentum is a repository in which the content is stored securely under compliance rules.
What is a content server?
Content Server is the foundation of Documentum content management system. It is a multi-featured product that provides access to the data and content files that constitute a docbase. It stores content files, their indexes and properties in the docbase. So it controls the access to the docbase. It controls the user’s access to objects in the repository by providing ACL. It is the core functionality that allows users to create, capture, manage, deliver and archive enterprise content.
Explain BOF ?
The Business Object Framework (BOF) is a set of functionality included starting with DFC 5.1 that provides ability to hook into any of the methods in the standard DFC object interfaces
Explain Aliases Set ?
An alias set is simply a list of aliases (like “reviewer” or “supervisor”) and the values that they resolve to.
Resolve a Sysobject owner name and/or ACL dynamically
Resolve Workflow task performers dynamically
Specify the Docbase location(s) for linking objects dynamically
Take advantage of a rich scheme for resolving aliases in different circumstances
What is a docbase?
The place where the information about a document is stored is called as Docbase. It’s the combination of the operating system (file system) and the database. The actual file (content) is stored in the file system and the information or attributes of the document are stored in Database.
Base64 is for Smaller Files around 5kb
Base64 is an established encoding for transfer of opaque data inline within a SOAP message (or more generally within XML). The encoded data is tagged as an element of the xs : base 64Binary XML schema data type.
Base64 encoded data is not optimized, and in fact is known to expand binary data by a factor of 1.33x original size. This makes base64 inefficient for sending larger data files. As a rule, it is optimal to use base64 for content smaller than around 5K bytes. For larger content files, it is more optimal to use MTOM.
MTOM is for (Larger files)
MTOM, an acronym for SOAP Message Transmission Optimization Mechanism, is a W3C recommendation adopted by JAX-WS. Enabling MTOM means that both the request that the SOAP client is sending to the server and the returned response go though MTOM encoding and decoding.
What is DFC?
DFC – Documentum Foundation Classes.
This is an object-oriented application programming interface (API) and framework for accessing, customizing and extending Documentum functionalities, implemented as a set of Java interfaces and implementation classes.
What do you understand by WDK?
WDK – Web Development Kit
It is a developer’s toolkit that facilitates the development of complex web based applications that connect to Documentum content repositories and Documentum content server. It contains large library of reusable components and controls to perform common Document management functionalities.
What is a docbroker/Connection broker?
Connection broker primarily know as docbroker provides repository connection information to the client application. Before installing a WDK application, one needs to obtain the names of the connection brokers to which the appropriate repositories project and the port numbers on which the connection brokers listen. The connection brokers used by WDK applications are defined in thefile on the application server host.
Explain how content server and docbase communicate with the database?
Documentum Content Server requires a properly configured database. The database tables store attribute values for each object in the repository.
Interested in mastering Documentum Training? Enroll now for FREE demo on Online Documentum Training.
What is a DocApp?
A DocApp is nothing but a packaging unit for Documentum objects. DocApps are used to package various elements for customization (such as custom Object Types, Lifecycles, etc.) so that they can be ported from one repository to another easily. Using Documentum Application Builder (DAB) you can create and package all your objects within a DocApp. A DocApp archive is a portable representation of a DocApp in a file on the file system. DocApps simplify developing and redeploying applications.
What is the significance of connection pooling in Documentum?
Connection pooling is an optional feature of Content Server that allows a primary repository session to be recycled and used by more than one user. Implementing connection pooling provides performance benefits for applications that execute frequent connections and disconnections for multiple users. When connection pooling is enabled in the DMCL, primary repository sessions are not closed when a user disconnects. Instead, they are held in a connection pool created by the DMCL. When another user requests a connection to the repository, the user is authenticated and given the free connection. When a user disconnects or a new user assumes ownership of a primary repository session, all sub-connections open in that session is closed.
How can applications use Documentum?
Custom applications can be developed using DFC (Documentum Foundation Classes) or WDK (Web Development Kit). DFC exposes Content Server API while WDK offers a framework and model for building a web application.
However, there are numerous aspects and options when developing a custom application using Documentum. Custom workflows can model business processes and lifecycles can encapsulate business rules around documents. SBO’s (Service-based Business Objects) and TBO’s (Type-based Business Objects) can encapsulate business logic.
Documentum capabilities can also be encapsulated in Web Services opening up a vast array of possibilities. D6 (Documentum 6.0) offers DFS (Documentum Foundation Services) which includes some core services as well as tools for developing web services for Documentum. Then there are standard interfaces such as FTP and JDBC, which allow a Documentum repository to be accessed using these protocols. Specialized connectors and portlets offer additional alternatives. PIA (Primary Interlope Assembly) allows access from .NET platform
What’s the difference between a component and a container?
A component is composed of one or more JSP pages, supporting behaviour classes and an XML configuration file.
A container is a specialized component. Many components share common UI and state. For example, dialogs have a title, content area, and a button panel. Containers provide these common layout and state for multiple components.
Components can be used within more than one container, inheriting their UI and state from the container.
What are a component’s main features?
A component consists of
A component definition within a XML file that defines the following elements:
Unique <component Id>. The optional component inheritance from a parent component definition is specified in the “extends” attribute.
<scope> element which defines the context in which the component definition is applied.
<params> element containing the parameter used in the behaviour class.
<start> element contains all presentation pages.
<class> element specifying the behaviour class
<nlsbundle> element specifies the class that contains externalized strings for the component class and JSP pages. Properties files in the bundle can be localized.
JSP pages: Layout is defined in the JSP pages, using HTML and configurable Documentum tags. The definition defined in the <start> element of the definition XML as stated above.
Component behaviour class: has the logic of the component. This is defined in the <class> element of the XML file as stated above.
String resource file defined in the <nls bundle> element of the XML configuration
What are the major lifecycle methods of a component in Documentum?
The major lifecycle methods of a component are listed below:
OnInit, onRender, onRenderEd, on CommitChanges, onOk, onCancel etc.
What do you mean by Documentum object model?
The Documentum object model is used to represent content in the repository. The object model is hierarchical as in an object-oriented programming language. Child objects inherit all attributes and behaviors of the parent object.
List few native DCTM types you have commonly used?
The main native Object types in Documentum are:
What tools can be used to create custom object types?
DAB – Documentum Application Builder
Do you need a container to write a component?
No, a container is not mandatory when writing a component. E.g. in Webtop the “Copy to Clipboard” feature doesn’t have a container.
What is a precondition and what is its importance? When is a precondition executed?
A precondition can be written for an action which determines whether the context is valid for the control or not. Accordingly it will then render an action control as enabled or disabled. They are however optional in action definition. If not mentioned the action will always execute.
Preconditions are called for each item in a list of component. If there are 10 items and 20 applicable actions, 200 preconditions will be executed before the list is rendered. So it can affect application performance if not used correctly.
Describe the version management capabilities of Documentum?
Versioning is an important content management feature of Documentum which helps in managing and tracking multiple versions of a document. The check-in / check-out option provides versioning capability in Documentum. The version label attribute is the heart of the version management system which is used by the content server to label multiple versions of the document. Each label can have an implicit label or a symbolic label. The implicit label is assigned by the server whereas the symbolic label is assigned by the user.
What is the significance of i_chronicle_id?
The i_chronicle_id attribute value is same for all the versions of a document. Each versioned object is assigned a unique “r_object_id” value but “i_chronicle_id” is the one attribute which is same for all versions of a document and binds all versioned objects together.
What are implicit and symbolic labels in Documentum version management?
Implicit Labels: The implicit version label is a numeric label. It is generally assigned by the server and is always stored in the first position of the r_version_label attribute. By default, the first time you save an object, the server sets the implicit version label to 1.0. Each time you check out the object and check it back in, the server creates a new version of the object and increments the implicit versions label (1.1, 1.2, 1.3, and so forth).
Symbolic Labels: A symbolic version label is either system or user-defined. Using symbolic version labels, you can provide labels that are meaningful to your application and work environment. Symbolic labels are stored starting in the second position (r_version_label ) in the r_version_label attribute.
What are renditions?
A rendition is a representation of a document that differs from the original document only in its format or some aspect of the format. It is an alternate copy of a file or an additional file that can be included with an object. For example, it may be a copy of an image in a different format or in a different resolution.
What is app.xml and web.xml?
: The is an application configuration file wherein one can configure the application wide behaviour. In Documentum each application layer (webtop, wdk, webcomponent etc…) has an file. It is made of application elements tag such as for failover, content_transfer, authentications, formats, plug-in, listeners etc. To inherit and override settings in another application layer, the application definition can extend an application definition in another layer.
: The file is a Web Application Deployment Descriptor for a web application. The file provides configuration and deployment information for the Web components that comprise a Web application. Examples of Web components are servlet parameters, servlet and Java Server Pages (JSP) definitions, and Uniform Resource Locators (URL) mappings.
What is a workflow and how can we create workflows in Documentum?
A workflow is a process that electronically passes documents and instructions from user to user. A workflow automates the process, ensuring that the right file goes to the right people in the right order.
Workflow tools: used to create the workflow definition called the workflow template are:
1) Workflow Manager
2) Business Process Manager
What is a lifecycle and how can we create lifecycles?
A document lifecycle is a sequence of states a file goes through between its creation and expiration. When you create a file, the system assigns a document lifecycle to the file and puts the file into the first state in the lifecycle. Typical lifecycle states include WIP (Work In Progress), indicating a document is in its draft phase, and Staging, indicating a document is complete and ready for approvals.
What is the difference between a workflow and lifecycle?
Lifecycles and workflows are tools for enforcing business rules within Documentum.
A lifecycle is a sequence of a file going between its creation and expiration states. Typical lifecycle states include Draft, Work in Progress, Approved, released etc. Thus the focus of the lifecycle is an object.
A workflow represents a network of activities that electronically passes documents and instructions from user to user. It automates the process ensuring the correct flow of work in a system. For example, an approval workflow can take a document from the author who created the document to an editor for review and lastly a manager for approval. Thus the workflow process may result in changing lifecycle states of the document.
Describe how you would use and leverage third-party data in Documentum?
The third party data from an external table can be accessed from Documentum docbase with the help of Register tables. One can register any external table in Documentum and can thereby access the data residing in it as simply as it is residing in a Documentum docbase. To register an external table in Documentum we use the following DQL:
DQL> “Register table dm_dbo.table_name (columname datatype)”
The above query registers the table in documentum database and as known this will create an object of type “dm_registered”.
Differentiate between role and group?
A group in Documentum is a convenient way of collecting all users with the same permission level. A group can thereby facilitate managing permissions (assigning ACL’s), assigning a task in a group work basket in a workflow, as an owner allowing all members of a group to have ownership for the document. Thus groups are mainly used for Object level permissions.
Roles are mainly used for providing function permissions. They are basically a special type of groups. It is created by setting the group_class attribute to role and the group_name attribute to the role name.
What do you know about UCF?
UCF – Unified Content Facilities
It is a lightweight applet that is responsible for transferring content between the content server, application server and the client machine during operations such as check-in, checkout, import etc. UCF is a Java-based client application that is installed at run-time. Since WDK application uses UCF content transfer it downloads a lightweight applet to the browser when the client uses the Documentum operations for the first time.
What are virtual documents?
A virtual document is a document that contains components or children documents. It is composed of other components, each component being an individual object. The dmr_containtment object stores information about each individual component of a virtual document.
Virtual documents are used mainly for the following scenarios:
-When there are multiple authors of a document, virtual document creates individual component providing owner, security and other characteristics for the document.
-Virtual documents are useful in managing multiple file formats For E.g. if there are sub attachments like an excel sheet and a presentation attached to some word document. In this case a virtual document creates three heterogeneous file formats keeping a single logical document.
-Virtual documents are useful when order of the children matters. By default the ordering depends on adding or removing sequence of the components. But it can also be done manually.
What are all the options available in client capability when you create a user?