Problem/Motivation

I have Feeds Alpha 6 Version 2.0 for Drupal 7. I have enabled the Feeds main module and the UI and Feeds News modules. I created a Feeds node and saved the node. Drupal imported the feed and created 30 nodes. I then deleted all the Feed Item nodes. I then tried to reimport all those nodes by deleting the Feeds node and re-creating it. Drupal reports that there are no new nodes. Drupal seems to remember somehow that the Feed Item once existed and refused to re-import that item.

Comments

g089h515r806’s picture

It is not a bug.

You could change your csv a little and upload it again. then you could reimport your items.

Feeds could cache your uploaded csv file, if you upload it again, Feeds will check whether it is the same with previous file, it will skip import process if your csv do not have any change.

1mundus’s picture

Try with changing the options to update nodes.

jacobson’s picture

I am not importing a CSV. I am pulling in an RSS feed from another web site. Using update nodes does not make a difference. Updating Feeds to the latest dev version seemed to solve the problem.

jpstrikesback’s picture

My understanding is that Feeds only clears the feeds-import table of entries when they are deleted thru feeds. If you delete an imported item thru drupal methods it knows nothing about that and still considers it's own mapping table as the master of what has been imported. Makes sense as you may import 100 items, delete 10 and not want them to get re-imported, I think currently this is the only way that this is possible.

Dennis Cohn’s picture

I've got this problem too!
I've delete all items in the content admin and I want to reimport the items.
But that's impossible because I keep getting the message "There are no new nodes."

No my website is blank...

How can I reimport all those items?

lyricnz’s picture

delete the rows from {feeds_item} table that you want to re-import.

Dennis Cohn’s picture

Already deleted them but he's keep saying: "There are no new nodes".
Very Strange!

twistor’s picture

hmm... this is strange.

Just to clarify a few things. If you delete, Feeds knows that it was deleted and removes it from the feeds_item table.

I would check your feed. Try downloading the file, and looking at it.

hvasconcelos’s picture

This is happening to me too. I was working altering/editing some values from the original feed before it was saved into a node by using hook_feeds_presave(). I wanted to test my code again so I deleted everything and when I went to re-import it it wouldn't work. Good thing the database was backed up!

After looking into it, in my case, I found that the quickest route was to simply modify the nodes that were already created (since their information already existed in drupal) and then let the new code - in a custom module - act on the feeds to be imported in the future.

Who knows maybe this will help someone wanting to change feeds that were already imported. (and not yet deleted, since we all know what happens when you try to re-import them!)

$res =db_query("SELECT nid FROM node WHERE type = 'feed_item'");  

foreach($res as $item) { 
	$node = node_load($item->nid); 
	
         // Do operations to modify node information here

        node_save($node);
}
hvasconcelos’s picture

I found out what the issue was for me!

I imported the nodes before I implemented a feeds hook. I was using the hook_feeds_presave() and as you can see in the link I provided, the code includes a $entity->feeds_item->skip = TRUE;. I made the mistake of simply copying and pasting the code in the documentation and never realized that even though it was being called, that line was making the node not be saved! Amazing how simple things go through unnoticed sometimes.

function hook_feeds_presave(FeedsSource $source, $entity, $item) {
  if ($entity->feeds_item->entity_type == 'node') {
    // Skip saving this entity.
   //Comment this line out:
   //$entity->feeds_item->skip = TRUE;
  }
}
markabur’s picture

Same thing is happening for me. I've even disabled and uninstalled Feeds module altogether, and I still get "no new nodes" when trying to re-import.

Edit: nevermind, turns out we hadn't enabled our custom module that implements hook__feeds_after_parse() to massage the data into the proper format. Works now!

MegaChriz’s picture

Issue summary: View changes
Status: Active » Closed (works as designed)

It seems that this works as designed.

For others running into this problem:

  1. Check the "feeds_item" table for references to the deleted content and delete these rows from the "feeds_item" table.
  2. Check your source content. I have developed a tool for helping with this: Feeds import preview allows you to see what your source looks like after it has been parsed.