Book Image

Web Content Management with Documentum

Book Image

Web Content Management with Documentum

Overview of this book

One of the world leaders in Enterprise Content Management, the EMC Documentum family of applications helps you manage all types of content across multiple departments within a single repository. With the Web Content Management suite of applications, you can efficiently manage content and underlying processes for your Web properties, and ensures that they are responsive to business needs. To fully realize the power of this system can seem daunting, but this book will help you achieve that. With easy to follow examples, this book will take you the simplest and most straightforward route to success. Along the way, you will learn insights that only a seasoned professional would know. Packed with practical examples, you will get hands-on with the powerful features of Documentum to grow your skills and confidence. You will see tips and tricks to handle complexities of the system, and avoid the common errors that waste your time. From installing and getting started with Documentum, you will see how to design and develop Documentum applications, before rounding off with deployment.
Table of Contents (33 chapters)
Web Content Management with Documentum
Credits
About the Author
Acknowledgements
Preface
Frequently Asked Questions and Answers

Appendix A. Frequently Asked Questions and Answers

The following set of questions and answers are based on the sections covered within this book and can serve as a good refresher once you have gone through the various chapters. Moreover, Documentum developers (both amateurs and specialists) are often confronted with such questions either during interviews or during the routine course of work.

What serves as the heart of the Documentum system providing basic services such as managing and versioning objects?

Content Server.

What are the logical entities that constitute a Docbase repository?

A Docbase can be thought of as a centralized repository in Documentum consisting of content, its associated properties (or metadata), and full-text indexes.

What purpose does a DocBroker serve in Documentum system architecture?

A DocBroker acts as an intermediary when client applications need to establish a connection with the Content Server.

Is it necessary for every object type to extend from an existing supertype in Documentum?

No. There can be object types having no supertypes.

What are the names of object types for lifecycle definitions and workflow templates in Documentum?

Lifecycle: dm_policy

Workflow template (process definition): dm_process

What are the attributes of Documentum's internal persistent object type?

r_object_id, i_is_replica, and i_vstamp

How do you infer the object type of an object from its object ID?

The first two characters of the 16-character object ID string are termed type identifiers and denote the object type of the object. For example, an object with object ID 0b0004578000c8b1 is a folder object because the first two characters 0b denote a type identifier for a folder in Documentum. Hence the object type for such an object is folder (dm_folder).

What are computed attributes?

Unlike the attributes of persistent objects in Documentum, computed attributes are not stored in the Docbase. They are generated by the Content Server at run time. Examples are _alias_set and _policy_name.

What is an FTDQL query introduced in Documentum release 5.3?

An FTDQL query differs from a SELECT query in the following way: while a SELECT query is executed against a Docbase repository, an FTDQL query is run against the full-text index, causing a considerable gain in performance.

What is IAPI?

IAPI is an Interactive utility available with Content Server that helps you to execute Server API commands against a Docbase.

Is dm_cabinet a supertype of dm_folder object type in Documentum?

No. It is the other way round; dm_cabinet is a subtype of dm_folder object type.

What are the two kinds of version labels managed by the Content Server?

Numeric (or Implicit) and Symbolic labels. Numeric labels are generated by the server, for example: 1.0, 2.1, 3.0, etc. Symbolic labels can be either system or user defined. For example: WIP, CURRENT, Staging, etc.

What is the relationship between an object ID (r_object_id) and a chronicle ID (i_chronicle_id) of a SysObject?

The various versions of a particular SysObject have different object IDs (r_object_id) assigned to them by the Content Server. However, these different versions share the same chronicle ID (i_chronicle_id). Chronicle ID stores the value of the object ID of the root (original) version of the object.

What is the difference between a lifecycle and a workflow?

A lifecycle defines the various stages in the life of an object, such as creation, authoring, review, and approval. A workflow on the other hand works along with a lifecycle and routes the object in the various lifecycle states. It defines how the object passes through various states, who the participating users and groups are, and what activities need to be performed during this flow.

What is the relationship between DMCL and DFC?

DFC is short for Documentum Foundation Classes and is a set of Java interfaces and classes provided to access and extend the capabilities of Content Server. DMCL is Documentum Client Library, consisting of a C library of APIs and serves as a communication layer between clients and Content Server.

DFC can be treated as a wrapper written over DMCL with additional features such as data validation.

Explain the two types of Business Objects available in Documentum Business Object Framework (BOF).

Type-based business objects (or TBOs in short) and Service-based business objects (or SBOs in short).

TBOs are tied to a particular object type and extend/override its capabilities while SBOs are independent of object types and provide generic services in the system. In release 5.3, TBOs are tied to both object type and Docbase repository.

Mention a few services provided by the Documentum WDK framework.

The WDK framework provides a number of essential services such as error handling, messaging, content transfer, and history management.

With reference to ACLs, mention all the extended permissions available in Documentum.

The extended permissions available in Documentum are: Change State, Change Permission, Change Ownership, Change Location, and Execute Procedure. In release 5.3, Documentum has provided an additional extended permission for deleting an object.

This new extended permission is different from the basic Delete permission since it does not provide the hierarchical Browse, Read, Relate, Version, or Write access.

For which types or entities can an alias be defined in an Alias Set?

An alias can be defined in an Alias Set for the following entities: user, group, user or group, cabinet path, folder path, permission set, and unknown (for cases where no entity fits).

What are the three mandatory attributes required to create a user (dm_user object) in Documentum?

In order to create a user in Documentum, you need to provide its user name (user_name), user OS name (user_os_name), and email address (user_address).

What is the difference between a public and a private group?

A public group is a group that has been created by either a sysadmin or a superuser in Documentum, while a private group is one that has been created by any user that has Create group privileges.

What purpose do Registered Tables serve in Documentum?

Registered Tables (dm_registered objects) are RDBMS tables external to a Documentum system and not a part of Content Server, but that need to be accessed within the Documentum system.

Name the execution agents that can execute Documentum methods.

Content Server (default execution agent), Method Server, and Java Method Server.

Which Documentum process executes jobs?

Documentum agent exec process in Content Server executes jobs.

How is Web Publisher able to make a connection to the Docbases hosted in Content Server?

The dmcl.ini file in the Web Publisher host has an entry for the DocBroker name and port number. The Content Server broadcasts its connection information to this DocBroker and then a connection can be established.

Mention a few system administration tasks that can be performed using Documentum Administrator.

Documentum Administrator can be used to create and maintain users and groups, object types and attributes, manage audit trails, set up jobs and methods, and execute DQL queries and Server API commands.

Which Documentum tool can be used for creation of renditions (alternative formats) of documents in a Docbase?

Content Rendition Services (CRS). Note that in Documentum release 5.3, Content Rendition Services has been split into two products: Document Transformation Services (DTS) and Advanced Document Transformation Services (ADTS).

Subtypes of which object type can alone be published via Site Caching Services (SCS) from Docbase?

Only subtypes of dm_sysobject object type can be published by SCS from a Docbase.

What are the two major components in Site Caching Services?

Site Caching Services (SCS) has two major components: SCS Source and SCS Target.

Why is Site Deployment Services (SDS) typically used?

SDS is typically used to deploy and synchronize website content from SCS target server to multiple local or remote servers.

Can two Content Servers be installed on a single Windows host?

No. This is possible only in case of UNIX and Linux environments.

What is the difference between an installation owner and a Docbase owner?

An installation owner is one whose login account has been used for installing Content Server. On the other hand, a Docbase owner is a database user account who has access to the underlying RDBMS tables in the Docbase.

Mention some limitations that need to be kept in mind while providing a Docbase ID for a Docbase.

The Docbase ID should be unique if multiple Docbases exist on a particular Content Server, it should not start with zero (0), and should be a number in the range 1 to 16777215.

Is Web Publisher Server Files installed on Content Server host rather than on Web Publisher application server host?

Yes. Web Publisher Server Files contains some Java method JARs that are run on the Content Server by Documentum Java Method Server. Hence, these need to be installed on the Content Server host and not on the Web Publisher application server host.

Which key in the dmcl.ini file is used for enabling connection pooling?

connect_pooling_enabled. This is false by default.

Which file stores server information required by Content Server?

server.ini file located on a (Windows) Content Server host at: $DOCUMENTUM\dba\config\<Docbase name>

Which tool is used to deploy DocApps created in Documentum Application Builder?

Documentum Application Installer (DAI).

What are Web Publisher Template, Rules, and Presentation files?

Web Publisher Template is a flat XML file having XML elements for fields that need to be filled in by content authors.

A Rules file is another XML file that controls the behavior and validation of each of the template fields.

A Presentation file is an XSL stylesheet that styles the template content file and generates outputs in the specified formats.

What is a DocApp?

A DocApp is a packaging unit of a Docbase used to house various Docbase objects such as object types, lifecycles, workflow templates, permission sets, alias sets, etc. The objects in a DocApp can be migrated/deployed to other Docbases using Documentum Application Installer (DAI).

Mention a few subtypes of sysobject (dm_sysobject object type).

A few subtypes of sysobject are: job (dm_job), method (dm_method), document (dm_document), policy (dm_policy), process (dm_process), etc.

Can a custom object type be named SELECT or DELETED?

No. These are reserved keywords in DQL (Document Query Language) and should not be used as names of object types.

What are the data types available in Documentum for attributes of an object type?

The available data types for attributes are: Boolean, double, id, integer, string, and time.

What does the input mask character # for attributes signify?

A hash masking character (#) allows only numeric values (0 through 9) for the attribute in question.

What is meant by Value Assistance?

Value Assistance is used for displaying a pre-defined list of values for a specific attribute. Users can choose from the set of values displayed in Value Assistance for the attribute. Note that this feature is not available for attributes of Boolean data type.

With reference to Registered Tables, what is the alias used for referring to the Docbase owner of the RDBMS table?

dm_dbo is the alias used for referring to the Docbase owner.

What are the various scopes that Documentum uses for resolving an alias?

The various scopes used by Documentum for resolving an alias are: lifecycle scope, workflow scope, session scope, user scope, and system scope.

In the context of permission sets, what is the reserved alias that Documentum uses for referring to the current owner of the object and all the users present in Docbase?

dm_owner is an alias for the current owner of the object and dm_world is an alias for all Docbase users.

What are the different states of a lifecycle policy object before it can be used by the applications?

The various states of a lifecycle policy object are: Draft (when the lifecycle has been created or modified but not validated), Validated (when the lifecycle has passed all system validation tests), Uninstalled, and Installed (when it has been validated and is ready to be used by applications).

What are the two types of states that can be created in a Lifecycle State Diagram?

Normal and Exception states. Normal states are for the normal linear flow of object, while Exception states represent an abnormal flow or diversions in the linear flow.

Mention a few standard Actions that can be performed by the system in a lifecycle state.

A few standard Actions that can be performed by the system in a lifecycle state are: adding or removing version label, setting owner, setting permission set, requesting rendition, etc.

Can one specify Java classes as procedures in lifecycle Entry Criteria, Actions, PostChange, and for validations?

Yes, this is possible in Documentum release 5.3.

Mention a few mechanisms to promote an object through the various states of a lifecycle.

A few mechanisms to promote objects through lifecycle states are: Web Publisher Promote menu option, workflows, promote server API command, and the BATCH_PROMOTE administration method.

What is the role of the Monitor_Lifecycles job in the Documentum system?

Monitor_Lifecycles job in Documentum runs at periodic intervals and turns Approved objects Active if their effective date matches current system date and also expires Active objects if their expiration date matches the current system date.

Which system attribute helps differentiate a template file from a content file?

a_is_template attribute: The value of this attribute is 1 for a template file and 0 for content files that have been created using this template.

What are the various widget types available in Web Publisher editor?

The various widgets available in Web Publisher editor are: textline, content, choice, textselector, graphic, checkbox, xselector, and repeating blocks.

What is a Repeating Block widget in Web Publisher editor?

A Repeating Block widget in Web Publisher editor allows content authors to create and subsequently work with multiple instances of enclosed widgets (say, textline, content, etc.) at run time in Web Publisher editor.

Can you associate multiple Rules files with a single Web Publisher Template file?

Yes, the system allows you to associate multiple Rules files with a single Web Publisher Template file

What purpose does a Textselector widget serve in Web Publisher editor?

A textselector widget in Web Publisher editor allows selecting a section of text from a file that has been uploaded in the Docbase.

What are the two types of Presentation files in Web Publisher?

The two types of Presentation files in Web Publisher are: Editor Presentation files (XSL stylesheets) and External Presentation files (HTML wrappers).

Editor Presentation files are used to format/style Web Publisher editor XML content files and are stored in Web Publisher under the Site Manager | Presentations | Editor folder.

On the other hand, External Presentation files provide standard frames and wrappers to the content embedded within <body></body> tags of HTML content files. They are stored under Site Manager | Presentations | External folder.

What benefit does the Reapply presentation feature in Web Publisher provide?

The Reapply presentation feature in Web Publisher allows you to update the renditions of existing content in the Docbase as per the modified Presentation files.

What is XDQL?

XDQL is short for eXtensible Document Query language and is a mechanism in Documentum that allows you to execute DQL queries from within XML and process the query results through XML.

What is the use of Web Publisher Create_Dynamic_Content job?

Web Publisher Create_Dynamic_Content job can be made to run at periodic intervals to transform content files that are in Active state and which have their template's Content Refresh flag set as true. This job reapplies Presentation files on the Active content files and thus ensures that the correct XDQL query results are saved to the transformed output web renditions.

What is a Web Publisher Folder Map?

A Web Publisher Folder Map is a flat XML file containing rules defining property matching conditions for Docbase properties (attributes), based on which the contents can be created under specified folder locations in Web Cabinets.

For example, a Folder Map could define a rule that states that all contents whose title attribute is not blank, should be created under a Web Cabinet channel folder TitledContents_Fld (say).

Can a Folder Map be configured so that the same content is created under two different folder locations based on a specified matching property condition?

Yes. You can specify two folder locations for a given attribute matching condition in the <path> tags.

What happens if you specify folder locations or Web Cabinet names in Folder Map that do not exist in the Docbase?

If the specified Web Cabinet does not exist in the Docbase, Folder Map throws an error. However, if the specified folders (within an existing Web Cabinet) do not exist, then Folder Map creates them automatically.

What is meant by dynamic folder mapping?

Folder Map can be used to automatically create folders at run time with names based on specified property values using the $(...) notation. For example, you can configure Folder Map so that content is created within a newly created folder at run time with a name that has been provided for the title attribute of the content.

E.g.: Value specified for title attribute: Dummy Title

Folder path specified in Folder Map: /<Web Cabinet name>/$(title)

At run time, the system creates a folder named Dummy Title under the specified Web Cabinet.

What is the use of Instruction Files in Web Publisher?

Instruction Files created in Web Publisher are flat XML files that can be used for automatically creating or updating the structure of existing content XML files as per the updated structure of Template files, without the need for manually updating existing contents.

Mention a few XML operations that can be performed by Instruction Files in Web Publisher.

Instruction Files in Web Publisher can manipulate XML content files by inserting new XML elements, deleting existing XML elements, inserting an attribute to an XML element, deleting an attribute from an XML element, and many other such operations as well.

Does relative path (the XML Path Language (XPath) // (double slash)) work in the case of Instruction Files?

No, this does not work and is a known limitation with Instruction Files.

What is meant by the Automatic Property Extraction (APE) feature in Web Publisher?

Automatic Property Extraction (APE) in Web Publisher is a feature that allows you to automatically set the values of specified XML elements in content XML files based on values provided for content attributes and vice versa.

Which particular widgets does Automatic Property Extraction work with in Web Publisher?

The following widgets are supported by Automatic Property Extraction (APE) in Web Publisher: Textline, Checkbox, and Choice.

Which object types does Documentum use for managing Automatic Property Extraction (APE)?

Documentum uses the following object types for managing Automatic Property Extraction (APE) in Web Publisher: dm_xml_application (subtype of dm_folder), and dm_xml_config (subtype of dm_document).

What is the difference between a Workflow process template and a Workflow in Documentum?

A Workflow process template (dm_process object) contains the definition for the workflow process, containing specifications regarding the various activities and their performers, actions performed in the workflow process, and so on and so forth.

On the other hand, Workflows (dm_workflow objects) are run-time instances created from the Workflow process template for routing content.

What are flows in Documentum Workflows?

Flows connect the various activities in a workflow template and could either take routed objects in a forward direction (in case of approvals) or a backward direction (in case of rejects).

Mention the two types of Workflow activities.

The two types of activities in Workflows are: Manual and Automatic.

While Manual activities are performed manually by a specified set of groups or users, Automatic activities are automatically performed by the server.

What are packages with reference to Workflows?

Packages are added to flows connecting various activities in a workflow template. These in turn route the objects in a workflow.

Mention the different types of publishing operations in Site Caching Services (SCS).

The different types of publishing operations in Site Caching Services (SCS) are: full refresh, incremental refresh, force refresh, and single object publish.

Where do you specify the various publishing parameters for SCS such as: objects to be published, source publishing folder, export directory, target host, etc.?

The various publishing parameters for SCS are specified in a Site Publishing Configuration, which can easily be created using Documentum Administrator.

Which objects does Documentum use for internally managing a Site Publishing Configuration created in Documentum Administrator?

In order to internally manage a Site Publishing Configuration created in Documentum Administrator, Documentum uses the following objects: dm_webc_config (for Source parameters) and dm_webc_target (for Target parameters).

Can you add HTML metatags for object attributes in published documents using Site Publishing Configuration?

Yes. You can add HTML metatags for object attributes in published documents, by choosing the checkbox Add properties as HTML metatags in the Advanced tab of Site Publishing Configuration.

What tables are created by SCS when data is published to a target database?

SCS creates the following tables on the target database as part of the publishing operation:

_s table (for storing single-valued attributes), _r table (for storing multi-valued attributes), _l table (for storing information about relation objects if specified), and _m table (for storing information about the state of published documents).

What is an Export Directory specified in a Site Publishing Configuration for SCS?

An Export Directory specified in a Site Publishing Configuration is a directory on the Content Server host where Documentum SCS exports the publishable documents along with their attributes in the form of content files and properties.xml file (containing attribute information) respectively.

With reference to SCS publishing operations, what is meant by Online Synchronization?

Online Synchronization is useful in the case of websites that have bulk publishes happening at periodic intervals, instead of single item publishes.

For a running site, bulk publishes can cause broken sections/links in the site.

Using Online Synchronization, you need to specify an Online Synchronization directory on the target host in a Site Publishing Configuration.

The SCS export data set (i.e. published content files + properties) is first placed in the Online Synchronization directory on the target host and then switched to the target root directory (webroot). Actually the webroot directory and Online Synchronization directories are renamed for the synchronization to take place. This causes minimal impact to the running website and reduces inconsistencies to a great extent.

What are pre- and post-synch scripts specified in Site Publishing Configuration?

Pre- and post-synch scripts can be written and specified in Site Publishing Configuration to perform custom tasks before or after SCS publishing has updated the website. Note that these scripts execute before and after SCS updates the website respectively.

What is the Transfer User specified in a Site Publishing Configuration?

The Transfer User specified in a Site Publishing Configuration is the user account that SCS uses in order to connect to the target server (web server machine).

What are the various available mechanisms for unlocking locked SCS publishing operations?

The following methods can be used in order to unlock locked SCS publishing operations: Stopping and starting SCS Source service, executing the unlockConfig.bat script found on SCS Source host, or nullifying the holder attribute in webc_lock object.

What is the simplest means to monitor the status of SCS Source publish operations, such as the total number of publish operations, break-down in terms of full refreshes and incremental publish operations, etc.?

The easiest means to monitor the status of SCS Source publish operations is by invoking the following URL from your browser:

http://<SCS Source host name>:<SCS Source port number>/webcache/state

This will return a flat XML file displaying the various publishing operation details you require.

What is the Web View feature available in Web Publisher?

The Web View feature allows you to preview the content files on your web servers for testing purposes before finally publishing over to the production website.

How can you access DFC Java interfaces if you are working on a Microsoft COM (Component Object Model) environment?

DFC includes a Documentum Java-COM bridge (DJCB) for accessing DFC Java interfaces in case you are working in a Microsoft COM (Component Object Model) environment.

What is the inheritance hierarchy of the IDfDocument interface in DFC?

In DFC, IDfDocument interface extends from IDfSysObject interface, which extends from IDfPersistentObject interface, which in turn extends from IDfTypedObject interface.

What is the use of the com.documentum.fc.client package in DFC?

The com.documentum.fc.client package in DFC contains classes and interfaces used for creating/managing Docbase sessions and for common data manipulation in Docbase.

What purpose does the IDfClient interface serve in DFC?

The IDfClient interface in DFC serves as a factory for IDfSessionManager objects, which help in creating sessions for establishing connection with servers.

Mention a few methods available in the IDfSysObject interface in DFC.

A few of the methods available in the IDfSysObject interface in DFC are: checkout() for checking-out and placing a lock on an object, getACL() for fetching the ACL associated with an object, getTitle() for retrieving the title attribute of an object, and setObjectName() for setting the object_name attribute of an object.

What are WDK configuration and customization?

Documentum WDK configuration involves simple configuration changes such as introducing new menu options, modifying labels and texts in screens, altering look-and-feel such as images associated with button controls, and hiding/displaying attributes/fields in various screens. This is achieved by modifying XML configuration files and JSP pages. WDK customization on the other hand requires modifications to Java behavior classes in order to add new actions or components or extend framework behavior and introduce custom logic and functionality.

What are the three modes of content transfer supported in Documentum WDK release 5.3?

The three modes of content transfer supported in Documentum WDK release 5.3 are: HTTP, Unified Client Facilities (UCF), and Content Transfer Applets.

Specify the extension hierarchy of WDK applications layers.

The extension hierarchy of WDK applications layers is as follows (from the lowest layer to the topmost layer): WDK, Webcomponent, Webtop, Digital Asset Manager, Web Publisher, and Custom Layer.

What are WDK controls?

WDK controls are UI features (buttons, links, and menus) that raise events in response to any changes made to these elements in a UI form. These events in turn are then handled either on the client side or on the server side.

What is meant by WDK Actions?

WDK Actions relate a UI event with an application function and are launched either by a Docbase operation (such as check-out, check-in, etc.) or via a UI form element (such as a button, a link, or a menu item).

Mention a few types of scopes defined in XML configuration files.

A few types of scopes defined in XML configuration files are: Docbase type, Application, Docbase name, etc.

How do you include all the strings defined in a particular NLS property file within another NLS property file that needs to use these?

This can be achieved by defining the full path of the included NLS property file in the parent NLS property file by using the string NLS_INCLUDES.

Describe the lifecycle stages of WDK controls.

The various lifecycle stages of WDK controls are:

onInit(): For example, a control is in a pre-created state by virtue of its name and a reference to it in a form or a components onInit() method. Whenever the component or the JSP page is requested for the first time, this method is called.

onRender(): This method is invoked every time a request to the form is made via a URL, just before the JSP form processing occurs.

onRefreshData(): This is called when the form data is modified.

onRenderEnd(): This is invoked as a clean-up operation after all form processing has been done for every request.

onExit(): This is invoked whenever a request is made to another form or component.

Which migration methodology comes in most handy when it comes to migrating selective objects from one Docbase to another?

DocApp migration via Documentum Application installer can be used for migrating selective objects from one Docbase to another.

What is the need for setting installation options in Documentum Application Builder before migrating DocApps to another Docbase?

It is critical to set installation options in Documentum Application Builder before migrating DocApps to another Docbase, so that the Documentum Application Installer (DAI) gets appropriate directions for installing objects on the target Docbase. By virtue of the installation options, DAI knows vital information such as: whether to overwrite objects or create new versions in the target Docbase or not, whether to install all objects contained within a folder or not, etc.

Mention one striking difference between the mode of execution of DQL queries and Server API commands.

A DQL query, once executed can work on multiple objects in a run, while Server API commands affect only one object in a single execution.

What are some of the uses of running DQL queries against a Docbase?

DQL queries can be useful for creating, updating, retrieving, and deleting objects and searching through content in a Docbase and for accessing registered tables.

Write a DQL query for inserting a value at the third index position of a document object's authors repeating attribute.

The update DQL query in this case will be:

update dm_document object insert authors[2] = '<specified value>'

What does the link clause in DQL queries do?

The link clause in DQL queries associates the object with a cabinet or a folder in the Docbase.

What is the use of the any keyword in DQL queries?

The any keyword is used in DQL queries to search for a specific value in a repeating attribute.

What is IAPI?

IAPI is the Interactive API utility that is available once you install Content Server. It can be used to issue Server API commands against a Docbase.

What exactly does the symbol c represent while executing Server API commands?

The symbol c is an alias for the current session in which Server API commands are being executed.

Mention two examples of Server API methods used for lifecycle management in a Docbase.

Two examples of Server API methods used for lifecycle management in a Docbase are: install and uninstall.

What does the get API method do?

The get API method retrieves the value of the specified attribute of an object.

Write a Server API command for linking an object to a folder abc residing within a cabinet xyz in a Docbase.

The Server API command in this case would be: link,c,<object ID>,'/xyz/abc'

Which Server API command shows all the contained attributes in an object along with their respective values?

The Server API command dump shows all attributes and their respective values for the object in question. Usage: dump,c,<object ID>

Can the destroy Server API method be used for deleting an object that is currently checked-out (and hence locked) in the Docbase?

No. In the case of locked objects in Docbase, running the destroy API method throws an error.