I installed this module along with FeedAPI and used the simplepie parser and I didn't see any noticeable difference. More specifically, I'm trying to import a feed that uses a very long embed code in the body of the feed, which FeedAPI has completely ignored so far. Here is the feed item I am trying to import:
<item>
<title>Philips SHE9850 In ear Headphones</title>
<link>http://media.digitaltrends.com/digital-trends/philips-she9850-in-ear-headphones/</link>
<description><![CDATA[<script src="http://www.ooyala.com/player.js?width=608&height=342&embedCode=c0MjgyOm_i6G3OPhabx3HtFBOuYaEJyq&autoplay=1&playerId=dtooyalap"></script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="ooyalaPlayer_4jgem_fk4ilkah" width="608" height="342" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="http://www.ooyala.com/player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" /><param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" /><param name="flashvars" value="embedCode=c0MjgyOm_i6G3OPhabx3HtFBOuYaEJyq&autoplay=1" />
<embed src="http://www.ooyala.com/player.swf" quality="high" bgcolor="#000000" width="608" height="342" name="ooyalaPlayer_4jgem_fk4ilkah" align="middle" play="true" loop="false" quality="high" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" flashvars="embedCode=c0MjgyOm_i6G3OPhabx3HtFBOuYaEJyq&autoplay=1" pluginspage="http://www.adobe.com/go/getflashplayer"></embed>
</object>
</noscript>
The Philips SHE9850 In-ear headphones might have a pricey price tag, but they sound much better than your stock earbuds that come with your portable media player.]]></description>
<pubDate>Mon, 21 Apr 2008 15:49:38 -0700</pubDate>
<guid>http://media.digitaltrends.com/digital-trends/philips-she9850-in-ear-headphones/</guid>
</item>
and FeedAPI is completely ignoring this segment:
<script src="http://www.ooyala.com/player.js?width=608&height=342&embedCode=c0MjgyOm_i6G3OPhabx3HtFBOuYaEJyq&autoplay=1&playerId=dtooyalap"></script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="ooyalaPlayer_4jgem_fk4ilkah" width="608" height="342" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="http://www.ooyala.com/player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" /><param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" /><param name="flashvars" value="embedCode=c0MjgyOm_i6G3OPhabx3HtFBOuYaEJyq&autoplay=1" />
<embed src="http://www.ooyala.com/player.swf" quality="high" bgcolor="#000000" width="608" height="342" name="ooyalaPlayer_4jgem_fk4ilkah" align="middle" play="true" loop="false" quality="high" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" flashvars="embedCode=c0MjgyOm_i6G3OPhabx3HtFBOuYaEJyq&autoplay=1" pluginspage="http://www.adobe.com/go/getflashplayer"></embed>
</object>
</noscript>
Is this module designed to deal with problems like that?
Comments
Comment #1
sirclickalotThis sound EXACTLY what I've been searching for! HOWEVER, I too have the same problem.
I have been trying to extract pretty much ALL the available fields from a number of RSS feeds and when I installed and enabled the Exhaustive Parser module, I am seeing no difference at all.
Even if I try setting up the example RSS source quoted on the main module page (http://feeds.nytimes.com/nyt/rss/Business) - I get nothing - the URL doesn't even stay stored in the Feed URL: icon?
Yet, I know I am using the Feed API module correctly as I have other feeds working fine apart from that I get no extra mappable field available.
Something fundamental must be wrong here - HELP please!
Comment #2
e2thex commented@mateomiguel Looking at the feed code, all of that data is in the description field, and so should be pulled in by the normal parsers, Have you check the body field (in the edit form) to see if it is there? It might be that it is filtered on the display. I think the default input filter removes script, object and param tags. If you don't mind posting the feed, I will take a look.
@SirClickALot In general you will not see a big difference unless you install the feed Element Mapper Module. The Feedapi exhaustive parser, only parser those fields so that a processor can use them. And the feed element Mapper Module lets you place those parsed fields in cck fields and such.
The feedapi has parsers and processors. The parser take then incoming feed and pull out data, and the processors take this data and do something with it, like putting it into nodes.
Thank you both for the question, let me know what else you might need.
Comment #3
ikos commentedHi,
I am having exactly the same problem as @SirClickALot. I have the feed element mapper module installed but just don't see the extra fields to map (I am hoping to be able to map the fields in the namespace slimbuddy from the following feed)
http://www.slimbuddy.com/rss/members.rss
Thanks in advance for your help!
Kind regards
Richard
Comment #4
sirclickalotThank you very much for that swift response - I am genuinely convinced that your module will do precisely what I want and that's why I'm so keen to get it running.
My colleague (from i-KOS) is about to send you the feed data that I am trying to parse - by the time you've read this, you'll probably already have.
To answer your questions, I am definitely using the Feed Element Mapper module (I have v6.x-1.0-beta7) installed but when I click the MAP tab, I am not seeing all the extra available fields.
PLEASE SEE THE ATTACHED SCREENSHOT of my modules.
Attached are two other feeds (as TXT files) that I know 'work' but for which I see no extra mappable fields?
If you have time to have a look at the RSS feed that my colleague has pointed you to, I'd be enormously grateful for your guidance on exactly what I'm doing wrong.
Thanks!
Comment #5
mattheweigand commentedHere's the feed URL of what I'm trying to parse. Have at it!
http://media.digitaltrends.com/feed/korea-it-times/
Comment #6
mattheweigand commentedOh, after I posted this comment I enabled and tried out the core Aggregator module for Drupal. It parsed the whole feed just fine. Just, not as nodes. I'd really like to be able to make a feed into nodes as FeedAPI is supposed to do. The most frustrating thing is that the default "lightweight item" aggregator works but the super cool extensible amazing FeedAPI doesn't :/.
Comment #7
e2thex commented@ikos and @SirClickALot, ok there was a pretty big bug, that I am fixing now. will post it shortly, sorry
Comment #8
e2thex commentedOk please try out this version http://drupal.org/node/434392. Make sure that in the feed content type you turn on the exhaustive parser. It think that should help alot.
Comment #9
e2thex commented@mateomiguel if you upgrade to the new version when do you the mapping you should see a field called options->all->description->#cdata-section if you map that to your body it will bring that content in. Then you will have to make sure the output filter does not strip those tags.
Comment #10
mattheweigand commentedI've downloaded the version you have linked there, but I think there's an additional problem, because in the feed content type I can see the simplepie parser, and the common syndication parser, but i cannot see an option for the exhaustive parser.
i noticed that the other 2 parsers, the simplepie parser and the common syndication parser, have .info, .install, and .module files in their directories, while /feedapi_parser_exhausive/ only has .info and .module files. Is it missing a .install file?
Comment #11
e2thex commentedYes, It appear that my test machine did not get the same update. The problem is resolved and in this version http://drupal.org/node/434552 (I even named it right this time!)
Comment #12
ikos commentedHi,
Thanks for your quick responses so far. I have tried updating to your latest version, but am still having a problem with my feed:
http://www.slimbuddy.com/rss/members.rss
When I click on "feed item example" I can't see the fields I want to map, so it doesn't surprise me when they are not there in the mapping options.
However, when I try with a standard Flickr RSS feed, I can see lots of extra fields available that don't even appear to be in the feed source.
Are the available fields pulled from some sort of definition file other than the feed source itself? Or is there something fundamentally wrong with my feed?
I'm sure we are really close to solving this!
Many Thanks
Richard
Comment #13
mattheweigand commentedWell, the exhaustive parser has changed things, a bit. If I set it to -1 weight it changes the order of the fields:
However the title and description tags are now empty. If I change the weight to 1, there is no difference from the original settings.
Comment #14
e2thex commented@mateomiguel
You always want the exhaustive parser to have a weight of 1. It does not do the standard parsing of the other parser, it only populates with extra options, so you want one of the other parser to go first. But from what I see in your post the exhaustive parser is not doing anything anyway. you should have lots of item in the options array. are you still working on http://media.digitaltrends.com/feed/korea-it-times/?
Comment #15
e2thex commented@ikos
when I do you feed i get the following
Are you sure you turned on the parser on the feed content type edit page?
And no it only pulls the fields from the feed, but if any one item has that field it will show up even if none of the other items have it.
Also I think a good cache clearing might be helpful. With all of the different versions and such feedapi might need it.
Thanks for sticking with it, I think we are close.
Comment #16
mattheweigand commentedyes, i'm still working on that feed. I wish I could get a really nice feed like the one you just posted ... :). Thanks a lot for your help and quick responses, sorry to bug you so much. I just wish I could get it working.
Comment #17
e2thex commented@mateomiguel when i do you feed i get the following
so I thing there must be something else up
I am using feedapi 6.x-1.6 on my test site is that the same as you?
Comment #18
mattheweigand commentedyes, I'm using FeedAPI 6.x-1.6, and Feed Element Mapper 6.x-1.0-beta7.
Comment #19
ikos commentedHi,
I think @mateomiguel and myself are definitely experiencing a similar problem. I can see that you have got my feed working as I would expect, but here it's definitely still the same problem.
All I can think is that maybe there is another module which is at the wrong version. Here are the exact steps I took:
1) Clean install of Drupal 6.10
2) Turn on the following modules:
Feeds API 6.x-1.6
Feed API Node 6.x-1.6
Simple Pie Parser 6.x-1.6
Exhaustive Parse 6.x-1.0alpha1
Feed Mapper 6.x-1.0-beta7
3) Uploaded the latest files for Simple Pie Parser to the module directory (as instructed by FeedAPI on first install)
4) Create CCK content type "SlimBuddy Member"
5) In Feed API setup of CCK :
Untick "Is Feed A Content Type"
Enable simple pie parser weight 0
Enable exhaustive parser weight 1
6) Create new Feed
7) Set Node Type in processor to "SlimBuddy Member"
8) Save
9) Click Map
I get:
Array
(
[title] => Example Username
[description] => Example Forename and Surname
[options] => Array
(
[original_url] => http://www.slimbuddy.com/rss/8C27879FD44E55B1013ABDFD881D58EE
[timestamp] => 1239301982
[guid] => 8C27879FD44E55B1013ABDFD881D58EE
[original_author] =>
[domains] =>
[tags] =>
[raw] => Array
(
[guid] => 8B1727E6D44E55B1019AFC2E20669110
[title] => Example Username
[description] => Example Forename and Surname
[pubDate] => Thu, 9 Apr 2009 14:35:31 +0100
)
)
)
which is not the same as your version!
Really appreciate your time in helping to sort this out.
Kind regards
Richard
Comment #20
e2thex commentedJust to clarify you are creating a content type called SlimBuddy Member
and then you are editing the content type feed (admin/content/node-type/feed) and setting the following
Tick "Is Feed A Content Type"
Enable simple pie parser weight 0
Enable exhaustive parser weight 1
The your are creating a new feed (node/add/feed)
with your feed url
and setting its processor to use the content type SlimBuddy Member
and then saving and going to map?
Comment #21
ikos commentedHi,
Thanks! Your last comment helped me solve it... however there is something wrong here in my opinion (it might be in FeedAPI rather than in your module though).
I hadn't thought to enable the parser in the Feed content type- I was continually trying to enable it in my SlimBuddy Member Content Type. It appears to me that the settings in my content object are irrelevant and are not overriding the defaults in the feed content type as I would expect. This may be just my misunderstanding.
Anyway, thanks again for all your help, I will let you know if it works now I have cleared this hurdle!
Kind regards
Richard
Comment #22
e2thex commentedSweet!
I think it all comes down to that brake down of feedapi with parsers and processors.
Your SlimBuddy Member type nodes are just the end result of the processor, they are just a data store. All of the setting for how to prarser and process are part of the feed type nodes.
I think it is a little confusing, (I might think about it and make chart or something) but I do think it allows alot of flexibility. Can't what to hear how it works out.
Comment #23
e2thex commented@mateomiguel
have you had any luck?
Comment #24
mattheweigand commentedI double-checked my feedapi setup according to the steps in post #20. I had everything turned on correctly, except I was not using the simplepie parser. I was using the other parser with exhaustive parser. So I turned off the other parser, turned on simplepie, and put simplepie to a weight of 0 and kept exhaustive to a weight of 1. After changing from the other parser to simplepie parser, when I went to Map I didn't get any feed elements at all. Not even the option to look at the feed example.
This is frustrating. it seems like I'm missing something big but I can't figure out what it is.
Comment #25
mattheweigand commentedOk, in the end it looks like I had a much more serious problem. The simplepie parser just wouldn't work on my system. I started getting a different bug as well, this one: http://drupal.org/node/377382. Finally, after several uninstall/reinstall attempts, I ended up only using common syndication parser and editing the PHP code to keep it from stripping out < script > tags. Then everything worked.
I don't know why simplepie parser didn't work, I don't know why exhaustive parser didn't offer any more fields, and I don't really care at this point. FeedAPI has given me enough headaches to disqualify it for production sites in my opinion, but I have no other alternative.
Comment #26
e2thex commented@mateomiguel
Sorry you had some many problems with it. I have stopped using simpleparse and always use common syndication, but I still don't understand why exhaustive does not work, I wonder if it is a php lib thing? I am using the DOMDocument object, but I think that is in the basic PHP install, and it should at least throw errors, if it is not working.
Comment #27
e2thex commented