Skip navigation FileNet logo
  Open Client Developer's Guide
  Search  |  Index  |  Glossary   |  
Open menu Overview
Open menu Open Client Architecture
Open menu Developing for Process
Open menu Error and Exception Handling
Close menu Customizing the Framework
  Best Practices
  Customizing the Error Page
  Customizing the Java Viewer
  XML Schema to INI Format
Globalization / Localization
Open menu General Information
   

Best Practices for Customization

The Open Client user interface can easily be customized by specifying colors, graphics, and preference settings consistent with your environment. The Open Client source code can also be modified to meet your application needs, including extending the supplied Data Providers and User Controls to create a fully customized application. If more complex customization is required, developers can leverage the IDM COM objects to write a custom ASP.NET Web application. For more information about customizing the Open Client through the use of COM objects, see Developing with IDM COM Objects in the .NET Environment.

The following sections describe in more detail the available configuration options and points to consider when customizing the Open Client.

Basic Customization

Basic customization of the Open Client can be accomplished in a variety of ways, such as through the use of corporate identity style sheets and graphics, or by configuring preferences for the out-of-the-box installation.

Configuring Libraries

The Open Client libraries must be configured on the Web server using the IDM Desktop IDM Configure tool.

Honoring IDM Preferences

The Open Client application runs on top of IDM Objects, and preferences honored by the foundation IDM Objects are also honored by Open Client. For a detailed list of supported preferences, see the Help for Open Client Administrators.

Setting Open Client Preferences

The Open Client supports a preference data provider, which has a structure similar to the IDM Preference Objects, but the preferences are stored in an XML file, rather than in the registry. This significantly simplifies the installation and upgrade procedures. The Data Provider allows for simple installation and upgrade procedures. Preferences can be edited using any XML or text editor.

Using Site Preferences

Examples of Open Client 4.0.1 preferences include the following:

  • Open Client Preferences (Process Integration, Search Directory, Viewer Selection).
  • User Interface Preferences (Folder View, including the number of columns and rows).

For a detailed list of supported site preferences, see the Help for Open Client Administrators.

Advanced Customization

The Open Client is delivered with full source code, including all ASPX pages, User Controls, Data Providers and utilities. Advanced customization of the Open Client can be accomplished by modifying the source code and ASPX pages, or by extending the supplied Data Providers and User Controls to create a custom application.

Suggestions for Customizing

Follow these suggestions when customizing the Open Client:

  • Set the page directive ASPCOMPAT='True' for all ASPX pages. For more information regarding creating ASPX pages, refer to Guidelines for Creating ASPX page.
  • Do not directly modify the out-of-the-box Data Provider or User Controls.
  • Inherit from existing Data Provider classes and User Controls to build your extensions and your own customized Data Providers and User Controls.
  • Limit your integration points to simplify upgrade procedures.
  • Implement a robust staging and upgrade strategy.
  • Use the Dispose() method (Method of IDisposable interface) to clean up resources held by IDM COM object. For more information regarding how to use '“Marshal.ReleaseCOMObject()” method , refer to Open Client Guidelines.

Upgrading a Customized Application

Follow these steps when upgrading a customized Open Client application:

  1. Begin with a installation of Web Services 4.0.
  2. Install Open Client 4.0.
  3. Install Web Services 4.0.1.
  4. Apply Open Client 4.0.1.
    Note: Never directly apply a patch to a production or development environment.
  5. Reintegrate all of the customization from your development environment.
  6. Test the new customization.
    This is your new development environment.
  7. Roll out the installation into the testing environment.
    Repeat Steps 1 and 4. This is now the new testing environment.
  8. Repeat Step 7 to move from the testing to the production environment.

Guidelines for Implementing the IE ActiveX Control and Applets Update Workaround in Custom Applications

ActiveX controls and applets available in custom applications built on top of Open Client will not get affected by Open Client 4.0.1 and may appear as disabled on the first use. For more information regarding IE ActiveX controls and applets update, refer to What's New in Open Client 4.0.1 section. Following are two possible workarounds for handling ActiveX controls and applets in custom applications:

  • Click on the ActiveX controls and applets to activate them.
  • Implement a solution that avoids the problem, which in most cases, will require modification of the custom application's code file(s).

The modified solution will involve loading the ActiveX objects using an included external script (JScript/JavaScript or VBScript) file. These indirectly loaded objects will be activated immediately and will not require users to click on them for activation. Following is a sample custom application code segment that will require modification:

Sample Custom Application Code Segment

<html>
<body>
<OBJECT id='appletPlugIn' classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' width='100%' height='100%' codebase='http://localhost/FNOpenClient/eProcess/download/j2re-1_4_2-windows-i586.exe'>
<PARAM NAME='java_code' VALUE='filenet.vw.apps.designer.VWDesignerApplet'>
<PARAM NAME='java_codebase' VALUE='http://localhost/FNOpenClient/eProcess/download/'>
<PARAM NAME='java_type' VALUE='application/x-java-applet;version=1.4.2'>
..
..
..
<PARAM NAME='cache_option' VALUE='Plugin'>
</OBJECT>

</body>
</html>

The above-highlighted code segment is to be replaced with the following highlighted code segment to load ActiveX controls and applets. Using this code segment, a reference to the external script Object.js file is made.

Modified Custom Application Code Segment

<html>
<body>
<script src="Object.js"></script>
</body>
</html>

After modifying the custom application code file, create an external JavaScript file with the following code segment as highlighted below:

Sample External Script File Object.js

document.write('<OBJECT id=“appletPlugIn” classid=”clsid:8AD9C840-044E-11D1-B3E9-00805F499D93” width=“100%” height=“100%”
codebase=“http://localhost/FNOpenClient/eProcess/download/j2re-1_4_2-windows-i586.exe”>
<PARAM NAME=“java_code” VALUE=“filenet.vw.apps.designer.VWDesignerApplet”>
<PARAM NAME=“java_codebase” VALUE=“http://localhost/FNOpenClient/eProcess/download/”>
<PARAM NAME=“java_type” VALUE=“application/x-java-applet;version=1.4.2”>
..
..
..
<PARAM NAME=“cache_option” VALUE=“Plugin”>
</OBJECT>');

For more information on how to activate ActiveX controls, refer to Activating ActiveX Controls.