I still have to dig in deeper, but since updating to 1.7 beta1 Feed api stopped working properly.
I use:
_ Feed element mapper
_ ical parser
_ feed api (+ feedapi_node)
To:
retrieve a google ical calendar and put it in the calendar of my site.
It worked, and i was already styling and so on.
Until I updated from 1.6 and installed Jquery plugins, Jquery eyecandy, the new CCK update, ... etc.
Now Feed_api tells me it collected/updated all the items, but only the last one gets saved?
Already tried upgrading to dev, and downgrading to 1.6.
I still have to digg deeper, but launched an issue anyway.
ps.: I must say to get a bit frustrated with all the updates. You can update every week and every time something gets broken or needs to be fine tuned yet again. Neverteheless, it is the lesser of two evils, i guess.
Comments
Comment #1
aron novakIt's fixed in the CVS.
Likely there will be a beta2 release today what will contain the fix.
No offense, but beta1 is a beta version, needless to say.
I hope you use stable and staging version of your sites so it really did not affect you. Have you had a really strong reason for updating? Generally speaking, in a live system, you should only apply security patches and that's all.
Comment #2
KoCo commentedYes, I know, I shouldn't update continuously.
I'm still in development stage and try to keep up with all the changes, just to get the most out of it when reaching production.
The frustration isn't really about all the updates. Instead I'm rather thankfull that people put their time and effort into developing Drupal.
It's more about my own time constraints, which don't allow the room for following up every add-on I'm using and still reaching the end product in time. If I could just give it 24/7, I could even do more to help this community.
Hopefully I didn't step too much on anyone's toes. I'll try to keep my shout-outs out of the issue queues in the future.
Sorry, but yet, thanks very much for the fix.
Koen
Comment #4
Summitt Dweller commentedNot sure I can really re-open this issue but I am seeing this same behavior now FeedAPI 6.x.1.7-beta3.
The modules involved are:
FeedAPI Mapper 6.x-1.0
iCal Parser 6.x-1.1
FeedAPI 6.x-1.7-beta3
FeedAPI Node 6.x-1.7-beta3
In my case it seems that nearly ANY other combination of versions of these modules leaves me with a broken UI that won't give me a sample feed element to map from and only a couple fields to map, and no VEVENT fields whatsoever.
I will try rolling back to 6.x-1.7-beta2 to see if that behaves better.
UPDATE: Same behavior persists in 6.x-1.7-beta2. I built all new CCK types after changing versions, mapped and refreshed an instance of the new feed type and got this:
The 5 items made it into my database as new nodes, the other 61 did not. There were 5 different kinds of events in this feed: Varsity Football, JV Football, Cross Country, Varsity Volleyball and JV Volleybal. In every case the LAST item of each type was saved, nothing else.
UPDATE 2: Tried the 6.x-1.x-dev version just for kicks. Same behavior. I got 5 nodes, 61 items without.
Comment #5
Summitt Dweller commentedOK, I'm pretty sure I found the source of the problem in my case. I'm pulling an iCal feed from HighSchoolSports.net. HSS.net codes ALL events for a unique team with the same URL. That way when a user clicks on a particular team's event they are not presented with that individual event, but with the team's entire season schedule. Actually a nice feature in my opinion.
Unfortunately, there is logic in feedapi_node.module which tests for duplicate events based on matching URL or GUID. I don't know what the specification says about unique feed items but in the case of HSS.net this is simply too tight. Testing solely on the GUID is sufficient.
Therefore, I have modified my copy of feedapi_node.module to comment out the URL test block as shown here.
Note that there is a block of code a few lines below this that tests again for matching URLs but does so if the option to check for duplicates across all feeds is checked. I think that test should be removed as well...at least for the feed I'm dealing with. I didn't implement that change yet since I don't need to check duplicates across feeds at this time.
Comment #6
pdcarto commentedI had the same problem and thank you Mark for working out the cause and a solution.
Seems like there should be an option: 'enforce url uniqueness', or something like that.
Comment #7
Summitt Dweller commentedI agree with pdcarto, an option to enforce unique URL or not would be very handy.
Writing with another, loosely related, update as well...
In my original post above I mentioned that several combinations of the feedapi, feedapi_mapper and ical_mapper modules were leaving my system in a state where I was unable to see all the fiels and unable to map VEVENT parts entirely.
Did some more debugging and found that in those cases the structure of my feedapi table was corrupt. It appears that enabling some version(s) of feedapi (or prehaps feedapi_mapper) alters this table such that changing versions won't repair the damage. Specifically, my corrupt database had no VID or NEXT_REFRESH_TIME but did have a SKIP column.
Fortunately I had a working installation of these modules in another project so I exported the feedapi table from that one and imported the structure back into my target project. It "seems" to be behaving as expected now.
Comment #8
aron novakI have definitely good news for you who are struggling with this issue.
In the future you won't need to hack feedapi_node.module to change the logic of the decision whether an item is unique or not. FeedAPI Mapper 6.x-2.x branch has a feature to override the deduping logic in a user-configurable-way, this is exactly what is needed here. So I'd say, temporarily this quick hack is fine and once FeedAPI Mapper 6.x-2.x branch will have a release, this will be able to do that out of the box.
Comment #9
Summitt Dweller commentedThanks for the note Aron. Sounds good.
Since I reopened this issue I'll also attempt to set the status to closed at this time.
Comment #10
Yasl commentedYou are a god! Thank you for finding this.