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.
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.