- The property abstractions (
PropertyFactory, and implementations) have been removed - it seems like the abstractions will only get in the way of leveraging PHP 7.x's improved native type-checking.
- The Record Transformer concept has been introduced. While our experience with Drupal emphasized the mapping of properties within each record, the logical purpose of the transformation segment of an ETL pipeline is to transform a record at a time (stipulating that, yes, 90+% of the time you're individually transforming each property within the record)...
- ...thus one of the two
RecordTransformerimplementations provided out-of-the-box is the
PropertyMapper. The field mapping configuration we previously provided within the
transformkey is now the
PropertyMapper's configuration, and the classes are now implementations of
- The other provided
Copy, for bulk-copying properties directly from the source record to the destination record. In many instances, most if not all properties being migrated are retaining exactly the same name and content, so it can help clarify the "interesting" property transformations if you don't have to individual express each and every trivial property copy.
This release was meant to be more ambitious (including refactoring of task pipelines) and sooner, but I've been busy working a couple of contracts since May. So, for the forseeable future, progress will be slower (unless/until other folks start contributing, of course!). For now, the emphasis for 0.8.0 is task refactoring, starting with seeing if we can leverage other libraries like league/pipeline.