Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Release notes
Content translation support - Small BC breaks - Refactored FeedImportHandler and FeedRefresh
This release requires at least Drupal 8.7.0. The next release will require at least Drupal 8.8.0. This release is not compatible with Drupal 9.
Content translation support
Support for importing content translations has finally be added! You can now either configure on the target or on the processor in which language you want to import values. Configure it on the processor if the language for all source values is the same, configure it on the target if the language differs per target. You can also configure the language on both, then the language configured on a target overrides the language configured on the processor.
Content translation imports has been tested for various cases, but since it was a complex thing to add, we do expect issues to arise in some cases. One issue has been noticed when using the target "Language (langcode)": #3126351: A translation already exists for the specified language. The question yet to answer is how this issue exactly occurs.
Small BC breaks
In order to fix all deprecations up to Drupal 8.7.0, there are some backwards compatibility breaks. These breaks were announced in the release notes of 8.x-3.0-alpha6 and are related to the removal of the usage of the deprecated @entity.query service. This service was used by Feeds processors and the file target. Pay extra attention if you've one of the following Feeds plugins in your modules:
- Processor plugins that extend
\Drupal\feeds\Feeds\Processor\EntityProcessorBase - Target plugins that extend
\Drupal\feeds\Feeds\Target\File
The probably simplest solution is removing references to services in the plugin annotation:
* arguments = {
* "@entity_type.manager",
* "@entity.query",
* "@entity_type.bundle.info",
* },
In other cases you may also need to make changes to the plugin's constructor if you were overriding that.
See also the change record.
Refactored FeedImportHandler and FeedRefresh
In order to streamline the import process for all workflows (batch import, cron import, push import), FeedImportHandler and FeedRefresh have been refactored. If you were extending/overriding these classes then pay close attention. The module Feeds Dependency overrides FeedImportHandler, but after inspecting its code it looks like the module is not negatively affected by this refactoring.
See also the change record.
Other notable changes
- Deprecated actions used by the 'Previously imported items' setting have been replaced. There's a database update to update this configuration.
- A new database table called 'feeds_clean_list' is added, to (hopefully) fix the bug of entities getting removed/unpublished unexpectedly in some cases.
- The
getSummary()method in target plugins may now return an array. You may even need to call its parent because of the addition of content translation support.
Known issues
The Expire feature is broken since 8.x-3.0-alpha7.
#3193092: Expire functionality broken
Next release
The next release will focus on making the module Drupal 9 compatible by fixing deprecations that were introduced in Drupal 8.8.0. We aim to release it before June 3, 2020, when Drupal 9.0.0 is released.
Contributors (31)
MegaChriz, artematem, mistermoper, pvbergen, BarisW, arskiainen, FrancescoQ, matthieu_collet, inst, toprak, fbreckx, qdoscc, bibo, artis.bajars, le72, Flodevelop, yurg, westerix, mikran, thalles, karenann, boinkster, srinithya, andrey.troeglazov, Boardwalk30, Devendra Mishra, Thangaraj Moorthi, andypost, e.bogatyrev, sean_e_dietrich, Dropa
Changelog
Issues: 24 issues resolved.
Changes since 8.x-3.0-alpha6:
Bug
- #3034413 by MegaChriz, artematem: Link target: added support for internal urls.
- #2979882 by MegaChriz: Fixed "The machine-readable name is already in use" error when adding multiple source keys.
- #3114302 by srinithya: Fixed typo in summary of file target.
- #2994668 by MegaChriz, andrey.troeglazov, Boardwalk30, Devendra Mishra: Fixed values duplicate when mapping multiple times to the same target.
- #3069752 by MegaChriz: Fixed entities sometimes get removed/unpublished unexpectedly on cron.
Feature
- #2829283 by MegaChriz, mistermoper, pvbergen, BarisW, arskiainen, FrancescoQ, matthieu_collet, inst, toprak, fbreckx, qdoscc, bibo, artis.bajars, le72, Flodevelop, yurg, westerix: Language support in Feed import
- #2998799 by mikran: Fixed ReferenceNotFoundException should be communicated better to the end user.
- #2918222 by MegaChriz, karenann, boinkster: Use Number fields as unique mapping target.
Task
- #3122337 by thalles: Updated project source url in composer.json.
- #3116977 by MegaChriz: Added js test coverage for setting target configuration.
- #3113960 by MegaChriz: Allow ConfigurableTargetInterface::getSummary() to return an array.
- #2811429 by MegaChriz, Thangaraj Moorthi: Refactored import process in order to streamline it for every import method (direct, batch and queue).
- #3104631 by thalles, MegaChriz: Replaced deprecated @entity.manager in FeedForm.
- #3103561 by MegaChriz: Added basic test coverage for clearing out values.
- #3094433 by MegaChriz, andypost: Hide deprecated actions from UI (and replace them with a database update).
- #3096024 by MegaChriz: Added config_export to FeedType.
- #3093515 by MegaChriz: Replaced deprecated ConfigurablePluginInterface.
- #3093512 by MegaChriz: Replaced deprecated EntityHandlerBase.
- #3042774 by MegaChriz, e.bogatyrev, sean_e_dietrich: Fixed most deprecations in tests.
- #3093488 by MegaChriz: Replaced deprecated file function calls with file_system service.
- #3001376 by MegaChriz: Replaced deprecated entity.query service.
- #3079395 by Dropa, MegaChriz: Replaced deprecated file constants with the ones from FileSystemInterface.
- #3113521 by MegaChriz, thalles: Fixed subclassing and stop overriding constructors in Drupal\feeds\FeedForm.
Missing features
This being an alpha release means that not all features from the D7 version of Feeds have been ported yet. You may also run into some bugs.
The most notable missing features are:
- #2938505: Add UI for editing and removing custom (CSV) sources
- #3060930: Add Drush 9 commands in Feeds 8.x-3.x
- Feeds import preview
- #3116987: Don't create new items, only update existing (D8)
- Targets for several field types: media field, user password, user roles