Make an Incremental Synchronize Action

This section shows how to make an incremental synchronize action.

An incremental synchronize is more efficient than running a full synchronize every time you need to synchronize with the information in the repository. The first time you run the synchronize action, the connector ingests all of the files it finds. On subsequent cycles, only new or modified items are ingested, and ingest-deletes are sent to the ingestion target for deleted files.

The example connector demonstrated in this section indexes files from a file system, and relies on two external libraries: boost::filesystem and sqlite. You can download these libraries from the Web. You could use alternative libraries in place of either of these. For example, if you are developing a connector on Windows you might use Windows file APIs, and ODBC for state storage.

This section describes one approach that you can use to implement incremental synchronize. This approach is implemented in sample code that is provided in the SDK (see the IncrementalSynchronize project in the CodeSamples solution).