- Issue created by @ty10086
- Status changed to Fixed
8 months ago 12:35pm 14 August 2024 - π³π±Netherlands megachriz
How it works now is indeed that for every field that you mapped to, an updated import would cause that value to be overwritten. This way it is possible to empty fields. If Feeds would ignore empty values, it wouldn't be able to do that.
A workaround that you could apply is having two feed types:
- One with all mappings relevant for new nodes. Configure it to "Insert new nodes" and "Do not update existing nodes".
- One with only fields that you want to update. Configure it to "Do not insert new nodes" and "Update existing nodes".
There exists an issue for ignoring columns not present in the spreadsheet. See β¨ Feeds "update existing" - how to avoid wiping out all existing data? Active .
12 years have passed and nothing has changed?
I do not work full time on Feeds. And yes, I'm guilty of sometimes prioritizing issues that benefit me or my client and leaving other issues open for years. But these issues that are open for years could easily take me 6 months (or longer) to complete. So I have to make choices about what to pick up now and what to leave for others to pick up. I think it makes sense that I don't always choose to implement something that I don't need myself?
An other thing that I think slows development down is the frequent releases of new major Drupal core versions and new PHP versions. About half of the time I have reserved for contrib I'm busy with keeping all my projects compatible with the new versions as well as helping a few other projects that I use to stay up to date (the latter is necessary to keep my client's sites on a supported Drupal version).
So I try to do what I can and I'm unable to fix everything in a timely manner. π
In the past 12 years there have been lots of changes to the project! Some highlights:
- Port to Drupal 8 and beyond
- On subsequent imports, unpublish or delete items that are no longer provided by the source.
- Feeds Log module, to allow you to see in detail which items were created or updated and which one failed on an import.
- Drush commands
- A generic entity processor (so you don't need to write a processor plugin for every content entity type that you want to import data for)
- FeedsSource plugins - allowing you to add additional sources on top of the main source.
- Multilingual support (though there are some unresolved issues for this).
- Base class for transforming data after parsing: AfterParseBase.
- Refactored import process so that imports work the same in the UI as during cron.
- Custom source UI
- And lots of bug fixes that were complicated to solve.
I'm most proud of the Feeds Log module and even made a video about it: https://youtu.be/P3ipggf5Irs π
This kind of logic seems to be very different from other existing cms.
Can you give examples of these other CMS's? Maybe I can learn from them. I don't like of how the user interface of Feeds is now for new users. It should be possible to make it easier and more intuitive.
I'm marking this issue as "Fixed" because I suggested a workaround, but also because a similar request is already being handled in β¨ Feeds "update existing" - how to avoid wiping out all existing data? Active .
- π³π±Netherlands megachriz
Do note that the phrase like "12 years have passed and nothing has changed?" could sound offensive to some maintainers that try their best to donate a lot of their free time to keeping their projects active and give free support. I've seen a few maintainers stopped working on their projects and left the Drupal community because too often they received comments like "Why is feature X not implemented yet? It is essential to me!", while they had putten tons of hours in to fix complicated issues.
So be careful with that. Some maintainers respond very defensive to such a comment and it can make their interest in the project to decrease.But I understand that you wrote it out of frustration. And I agree that Feeds is far from perfect and not as easy to use as it could potentially be.
Automatically closed - issue fixed for 2 weeks with no activity.