Conceptual differences with the D7 version of Feeds

Last updated on
17 August 2020

A list of conceptual differences compared to the Drupal 7 (D7) version of Feeds.

Note

The information provided here is more targeted to developers.

Differences

  • Feeds uses events instead of hooks.
  • Feeds relies on the event system to perform its core tasks: tasks like fetching, parsing and processing are all done by listening to certain Feeds events.
  • Targets are now classed objects.
    • They were a series of callbacks in D7.
  • Targets can have subtargets. This is useful for fields that have more than one property. For example: an image field has url, title text and alt text.
    • This were three separate targets in D7, while it is one in D8 (with three subtargets, all defined in the same class).
  • The metadata of a target is not defined in a target class, but instead in a target definition class.
  • Feeds takes care of periodic import by itself.
    • This was done via Job Scheduler in D7.
  • Parsed items are classed objects.
  • Instead of a feeds_item table, there is now a feeds_item field which is automatically added to the target entity type.
  • The feeds_log table is removed. Feeds does log messages using Drupal's logging API. For some log messages, the feed is passed as context. Drupal core's database log and syslog ignores this context, but it could be used in custom log implementations.
  • There is no longer a ‘standalone’ form or attaching a feed to content type. Instead there is a ‘Feed type’ config entity (equivalent of Feeds importer in D7) and a ‘Feed’ content entity (equivalent of feed content type in D7).

Help improve this page

Page status: No known problems

You can: