IBM Content Navigator, Version 2.0.3     Supports: 

External data services

You can use the external data service (EDS) representational state transfer (REST) protocol to create an external data service to get data from an external source, such as a file or a table in a database, to customize field properties and manage property behavior in IBM® Content Navigator and IBM Content Navigator for Microsoft Office. Review the data flow diagram to understand how an external data service submits and returns requests between the IBM Content Navigator client and the external data source.

When you create an external data service, your existing data is integrated with IBM Content Navigator field values and other field properties, but you continue to store and maintain the data only in the original, authoritative data source. You access the data without moving or copying that data to a separate repository, so the source remains in the original data store. The external data source must remain available to IBM Content Navigator, so that the external data can be accessed whenever the business user invokes the service through the web client.

An advantage to using an external data service is that you do not need to modify the IBM Content Navigator source code to customize the user interface properties and values. Therefore, upgrades and other major changes to IBM Content Navigator do not affect the property data that is obtained by an external data service, because the data and external data service are located separately from IBM Content Navigator source code.

Where external data services can be implemented

An external data service can be implemented for the following actions in IBM Content Navigator or IBM Content Navigator for Microsoft Office:
  • Adding documents and folders
  • Checking documents in to the repository
  • Editing properties for a selection of multiple items
  • Editing item properties in the viewer
  • Using entry templates
  • Setting process workflow step properties and workflow filter criteria fields (IBM FileNet® P8)
  • Creating or using searches
  • Controlling Content Manager OnDemand search folders

In these areas, you can use an external data service to customize the following field properties and property behaviors:

Look up values in a database to create choice lists
Create choice lists by using existing data that is managed in a different content repository or data source than the one that is connected to IBM Content Navigator.
For example, you can use values in a file that is located and managed in an external server or repository.
Prefill properties
Specify prefilled properties and default values.
For example, you can prefill fields with custom default values that are based on a particular class ID, authenticated user, or the parent folder.
Specify property dependencies
Define dependencies between properties.
For example, you might specify a dependency between a geographic region choice list property and an office branch choice list property so that when a user chooses a geographic region, the subsequent choice list that is dependent on the selected geographic region contains only the office branches that pertain to that geographic region.
Set minimum and maximum values
Specify an integer, float, or date to define the maximum or minimum value for a property.
Restriction: You cannot reset the minimum value or maximum value to be less restrictive than the minimum value or maximum value that is specified in the repository that you are using.
For example, if the minimum value in the repository is 100, the service can set the value to 150, but not to 50.
Set read-only status
Set a property to be read-only.
For example, you might create a property that requires a particular value. To prevent users from entering a different value that could cause an error, you can specify the correct default value and make that property read-only.
Set required status
Set a property to be a required field. When you use this attribute on a property, an asterisk appears in the user interface to indicate that the field is required. Users can not proceed from the page or dialog box unless the field contains a value.
Set hidden status
Hide a property from the user interface.
For example, you might create a choice list that dynamically determines subsequent text input fields to present in a form. To hide a property that does not apply in a particular situation, you can use the hidden attribute.
Implement property validation and error checking
Show a custom message or provide assistance when users enter values into a property field.
Restriction: You cannot use custom validation for object properties, reference attributes, read-only properties, hidden properties, or search criteria.

External data service architecture and data flow

When an external data service is implemented for a certain action or property, the service is invoked when a business user interacts with that item in the web client. The following diagram shows how an external data service submits and returns requests.

This graphic is described in the surrounding text.
The external data service works by using two services, which the application developer needs to create:
  • A GetObjectTypes service to get the list of all classes, item types, or workflow information that the external data service needs to handle.
  • An UpdateObjectType service for each class to get the current attributes or values and return that information in the response payload.
The external data service is invoked when a user opens a certain dialog box or tries to set a value on a property in the user interface. The middle tier services sends a request payload to the external data service, which interrogates the external data source for the requested information about the classes and attributes. The information from the response payload is then merged with the underlying information in the repository that you are using, for example, IBM Content Manager or FileNet P8.

Precedence order in which data appears in the user interface

In IBM Content Navigator or IBM Content Navigator for Microsoft Office, the following list describes the precedence order:
  • The EDS-specified value takes precedence.
  • With no EDS-specified value, the entry template value takes precedence.
  • With no EDS-specified value, and no entry template value, the EDS initial value takes precedence.
  • With no EDS-specified value, no entry template value, and no EDS initial value, the class attribute default value is displayed.
The terms in the previous list are defined as:
EDS-specified value
A change to the property value that resulted from an explicit assignment to the property value through EDS.
Entry template value
The default value provided by an entry template.
EDS initial value
The default value to be used as a prefill value for a property, which is defined through EDS.
Class attribute default value
The default value that is assigned to the property in the repository class definition.
Restriction: For IBM Content Navigator for Microsoft Office with Microsoft Outlook, precedence order includes only the entry template value and the class attribute default value. Property values cannot be modified by EDS. For example, EDS cannot override the Microsoft Outlook Email Document Title value, which uses the subject line of the email.