Change record status: 
Project: 
Introduced in branch: 
8.2.x
Introduced in version: 
8.2.0
Description: 

The migration system supports optional "highwater" tracking, to enable efficient identification of modified source records for import. This support had the following problems from an API standpoint:

  1. This support logically should be entirely contained within the source plugin - however, as originally implemented the migration plugin was exposing what should be internal-only implementation details, and the migration plugin and MigrateExecutable held some of the implementation.
  2. The configuration property highWaterProperty violated naming standards.

The following changes have been made to highwater support:

1. The configuration properties have been renamed, and moved from top-level (migration plugin) configuration keys into the source plugin.

Before:

id: sample_migration
highWaterProperty:
  field: changed
  alias: n
source:
...

After:

id: sample_migration
source:
  # Renamed from highWaterProperty to high_water_property.
  high_water_property:
    # Renamed from 'field' to 'name'.
    name: changed
    alias: n
...

2. Public functions exposing the internals of the highwater implementation have been removed from MigrationInterface.

Before:

$timestamp = $migration->getHighWater();
$migration->saveHighWater($timestamp);
$highwater_property = $migration->getHighWaterProperty();

After:

There are no replacements for these functions. There is no known use case for clients of the migration plugin to access this information directly.

Impacts: 
Module developers