Each item descriptor in the local repository that is integrated must be defined in the Integration Repository definition file and configured in the item-descriptor tag. This tag has the following attributes:

Attribute

Description

name

The name of the item descriptor being configured. This must match the name of the item descriptor in the local repository.

mapping-file

This is the default mapping file that is used when sending a repository item to any of the configured commands. The mapping file controls which properties are sent as input, and what the external names of those properties are. See Mapping.

external-id-property

Just as there is a local ID (repositoryId) for each item in the local repository, there must also be an ID for each corresponding item in the remote system. This attribute identifies which repository item property in the local repository will be used to store the external ID. The external ID property does not have to be the same property as the repository ID in the local repository. If it is not, set use-external-id to false.

use-external-id

If the local repository ID should match the external ID, then this property should be set to true. If the external ID is just stored as a non-ID property on the local item, then set this property to false.

local-value-timeout

This property configures the number of milliseconds that a local item is valid before it should be retrieved from the external system. For example, if this is set to 600000, and you call getItem, then each subsequent call to getItem for the next 10 minutes will return that same item with no updates. After 10 minutes, a call to getItem will once again execute the getItem command.

read-only-states

Each item retrieved from the remote system has a state associated with it in the persistent cache. The state can be one of OK, INVALID, or UNKNOWN. The default value is UNKNOWN. This property identifies which of those states will render the item read-only. This is useful if you timed out on a recent call to getItem and you still want people to be able to view the item but do not want to run the risk of them changing it. See Persistent Caching.

allow-local-operation

This attribute controls the behavior if there is no configured command for a particular operation. If this attribute is true, then the local repository can act on the local repository item without reference to the remote system. For example, if there is no update-item command configured, and someone calls updateItem, is this an error? Should the update just go to the local repository with no Command execution?