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
- Controlling fields in the Content Manager OnDemand Add Document panel and Edit Properties panel
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.
- Prefill properties
- Specify prefilled properties and default values.
- Specify property dependencies
- Define dependencies between properties.
- 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.
- Set read-only status
- Set a property to be 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.
- 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.
- 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.
Precedence order in which data appears in the user interface
- 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.
- 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.