Some data source types and repositories provide features to identify incremental content changes. For example, many data source types such as content management systems, version control systems, and enterprise management systems have the capability to track modification dates, user changes, and other types of content changes.
If this kind of information is available, a data source extension can programmatically request it and then acquire only content that has changed as part of an incremental acquisition. This approach to identifying incremental content changes is often more efficient than having the Content Acquisition System create and compare metadata histories to identify the incremental difference.
You can support this approach in a data source extension by
implementing the
IncrementalDataSourceRuntime
interface. This includes
the following steps:
Implement
IncrementalDataSourceRuntime.checkFullAcquisitionRequired()
.The logic of this method should do whatever is necessary to determine whether a full acquisition is required. For example, this may involve checking whether any manipulator extension in an acquisition requires state produced by a full acquisition. If a manipulator does require state, it would return
true
fromcheckFullAcquisitionRequired()
.If the Boolean is
true
, CAS Server then sets theAcquisitionMode
toFULL_ACQUISITION
. If the Boolean returned fromcheckFullAcquisitionRequired()
isfalse
, then CAS Server sets theAcquisitionMode
toINCREMENTAL_ACQUISITION
.If the
AcquisitionMode
is set toFULL_ACQUISITION
, the CAS Server switches from an incremental acquisition to a full acquisition and callsDataSourceRuntime.runFullAcquistion()
.Implement
IncrementalDataSourceRuntime.runIncrementalAcquisition()
.