As an administrator you can edit the TCMConfig.xml file to customize the behavior and appearance of the TCM application. The file is located at C:\Program Files\FileNet\Collaboration\Web\WEB-INF\config\ by default.
The TCMConfig.xml file defines the integration of generic software modules within the TCM application user interface paradigm. This includes:
The following are controlled within the TCMConfig.xml file:
object types | Defines each of the objects available in the TCM application. In general, objects defined here correspond to the tabs displayed in the TCM application user interface. For each object, <view> defines the views available for that object type. FileNet recommends that you do not change these settings. |
modules | Modules provide a hook from the configuration file to the Java code that controls the module in the container. Within the TCMConfig.xml file, the module provides settings for properties on the Java class. Refer to the Collaboration Developer's Guide for information on properties available for each module. FileNet recommends that you do not create or remove existing modules. |
views | Views provide containers for modules. Views contain one or more modules and sub-modules. For each view, <action> defines the action buttons displayed in the user interface. If a view can have more than one condition, <actionset> defines the actions available for each condition. For more information see also actions and action checks. |
menus | The menu settings control the actions available in the Add Related Item menu for each view where the Related Items box is displayed. You can add or remove menu items by editing the list of menu items. |
actions | Actions correspond to the action buttons available for each view. Whether or not an action is available to a user is determined by access control and action checks. An action may be displayed but disabled (grayed out) if the access control (which examines the security permissions for a user's role) fails, or if the action check (which examines other conditions) fails. You can use external action integration to add an action button to a view and link it to your own web page or JSP. For an example of how to connect your own custom action to a TCM application view, see Example: Adding a custom action to the TCM application. |
access control | Use access control to determine whether or not an action should be allowed based on a user's security role. The access control specifies the minimum security permissions that a user must have to perform the action. If the user does not satisfy the security criteria, then the action is disabled. Note that the access control does not map directly to the same set of access aliases that security roles use. Rather, the available access control settings are defined in the TCM application code and cannot be changed. The permissions provided for a user based on their security role must meet or exceed the set of permissions required by the access control setting. If the user does not have sufficient security, the action is disabled. |
action checks | Use action check conditions to enable or disable an action when a specific condition is met. In general, if an action is disabled, it is grayed out in the user interface. If you want to hide an action completely under certain conditions, an action check can be configured as <hide-disabled>true</hide-disabled>. In this case, if an action is disabled due to this particular check, it is hidden rather than grayed out. As an example, the TCM application uses <hide-disabled> to control the actions available for deleting a document, depending on whether it is a document that was added to a folder, or the shortcut to a document filed in a folder. Users will see either delete document or delete shortcut depending on whether they selected a document or the shortcut to a document. |
filters | Filters control which of the list filters are available. See Filtering lists for more information. For examples of how to customize the filters displayed see Example: Modifying list filter options. |
searches, search target, and search scope | Search defines the search targets and the scope of the search for different search options. See also search target and search scope. Search target defines the specific characteristics for each of the search targets available in the search module. The search scope controls the available search options - to search within the teamspace or to search the entire object store. For an example of modifying a search to remove a search target see Example: Removing a tab from the user interface. |
Below is a segment of the code that controls the Deactivate Teamspace action:
<action id="DeactivateTeamspace">
<form-action>false</form-action>
<label localKey="cwexml.TCMConfig_xml.deactivateTeamspaceLabel">deactivate</label>
<tooltip localKey="cwexml.TCMConfig_xml.deactivateTeamspaceTooltip">Deactivate a teamspace</tooltip>
<type>confirmation</type>
<module>ConfirmationHelper</module>
<handler>TeamspaceHandler</handler>
<method>Deactivate</method>
<applies-to>
<object-type>teamspace</object-type>
</applies-to>
<access-control>deactivate-operation</access-control>
<action-check>isTeamspaceActive</action-check>
</action>
The access-control tags require a user to have deactivate-operation security permissions in order to deactivate a teamspace. If a user's role does not meet the criteria, then that user cannot delete the teamspace.
The action-check isTeamspaceActive means that the Deactivate Teamspace action is only available for active teamspaces. Once a teamspace is deactivated, it cannot be deactivated again.
Below is a segment of the code for the module that contains the list of tasks on the Home tab in the user interface.
<module id="TasksHomeList">
<class>com.filenet.clb.toolkit.server.ui.list.ClbTasksListView</class>
<property name="pageSize" value="5"/>
<property name="showPages" value="true"/>
<property name="columnInfo" value="HomeTasksColumnInfo"/>
<property name="sortColumn" value="true"/>
<dp-modules>
<dp-module>CollaborationDP</dp-module>
</dp-modules>
</module>
The properties set for the module include the following: