Introduction
This page explains how to deal with timestamps / change times at your documents in order to map them to Shopware successfully.
All information provided on this page is only relevant if the module runs in "delta-mode". So please read the documentation about import-modes carefully as these topics are closely related.
Change Time Traits
The data model provides multiple traits to add timestamps to a document:
-
Elio\CommonBundle\Traits\IndexableChangeTimeAware -
Elio\CommonBundle\Traits\ChangeTimeAware -
Elio\CommonBundle\Traits\ChangeTimeCollectionAware
Warning: The trait ChangeTimeCollectionAware is completely ignored by the module.
Only the fields createdAt, updatedAt and deletedAt provided by the traits IndexableChangeTimeAware and ChangeTimeAware are
used in the calculation of the data to be processed.
Base Documents
In general a document is ignored, if all of its timestamp-values (createdAt, updatedAt or deletedAt) are before the value
of lastSync in the module configuration.
Embedded Documents
Embedded documents do not cause a "parent" document to be part of the handled documents. If you need to update an entity that is mapped from an embedded document the timestamps of the owning base document must be updated as well.
Example: If you update the embedded document GeneralInformation of a Product and update its timestamps the owning Product will
not be part of the next flow-execution. This is only the case if the timestamps of the main document are set accordingly.
Extracted Documents
The behavior of embedded documents does not apply
to extracted documents
. Example: If you update the embedded document PropertyOption (which is extracted before being mapped to Shopware) the only timestamp
that matters is the timestamp of the embedded document itself.