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

sirclickalot’s picture

This 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!

e2thex’s picture

@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.

ikos’s picture

Hi,

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

sirclickalot’s picture

StatusFileSize
new13.29 KB
new28.31 KB
new191.49 KB

Thank 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!

mattheweigand’s picture

Here's the feed URL of what I'm trying to parse. Have at it!

http://media.digitaltrends.com/feed/korea-it-times/

mattheweigand’s picture

Oh, 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 :/.

e2thex’s picture

@ikos and @SirClickALot, ok there was a pretty big bug, that I am fixing now. will post it shortly, sorry

e2thex’s picture

Ok 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.

e2thex’s picture

@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.

mattheweigand’s picture

I'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?

e2thex’s picture

Yes, 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!)

ikos’s picture

Hi,

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

mattheweigand’s picture

Well, the exhaustive parser has changed things, a bit. If I set it to -1 weight it changes the order of the fields:

Array
(
    [options] => Array
        (
            [original_author] => Digital Trends Technology Videos
            [timestamp] => 1231631603
            [original_url] => http://media.digitaltrends.com/digital-trends/ces-2009-lg-cell-phone-projector/
            [guid] => http://media.digitaltrends.com/digital-trends/ces-2009-lg-cell-phone-projector/
            [domains] => 
            [tags] => 
        )

    [title] => 
    [description] => 
)

However the title and description tags are now empty. If I change the weight to 1, there is no difference from the original settings.

e2thex’s picture

@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/?

e2thex’s picture

@ikos

when I do you feed i get the following

array
(
    [title] => Example Username
    [description] => Example Forename and Surname
    [options] => Array
        (
            [original_author] => SlimBuddy Member Feed
            [timestamp] => 1239297800
            [original_url] => 
            [guid] => 8BE7B87AD44E55B100195BFB820E4B5C
            [domains] => 
            [tags] => 
            [all] => Array
                (
                    [guid] => Array
                        (
                            [#text] => 8BE7B87AD44E55B100195BFB820E4B5C
                        )

                    [title] => Array
                        (
                            [#text] => Example Username
                        )

                    [description] => Array
                        (
                            [#text] => Example Forename and Surname
                        )

                    [pubDate] => Array
                        (
                            [#text] => Thu, 9 Apr 2009 18:23:20 +0100
                        )

                    [slimbuddy:title] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:forename] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:surname] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:email] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:date_of_birth] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:address_line_1] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:city] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:county] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:postcode] => Array
                        (
                            [#text] => random content for testing
                        )rray
(
    [title] => Example Username
    [description] => Example Forename and Surname
    [options] => Array
        (
            [original_author] => SlimBuddy Member Feed
            [timestamp] => 1239297800
            [original_url] => 
            [guid] => 8BE7B87AD44E55B100195BFB820E4B5C
            [domains] => 
            [tags] => 
            [all] => Array
                (
                    [guid] => Array
                        (
                            [#text] => 8BE7B87AD44E55B100195BFB820E4B5C
                        )

                    [title] => Array
                        (
                            [#text] => Example Username
                        )

                    [description] => Array
                        (
                            [#text] => Example Forename and Surname
                        )

                    [pubDate] => Array
                        (
                            [#text] => Thu, 9 Apr 2009 18:23:20 +0100
                        )

                    [slimbuddy:title] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:forename] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:surname] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:email] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:date_of_birth] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:address_line_1] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:city] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:county] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:postcode] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:orderdate] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:mobile] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:support] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:diet_and_nutrition] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:health_and_fitness] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:next_payment_amount] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:initial_duration_of_membership] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:gender] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:transaction_id] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:original_order_number] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:protx_security_code] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:authorisation_number] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:next_payment_date] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:membership_status] => Array
                        (
                            [#text] => random content for testing
                        )

                )

            [feed_elements] => Array
                (
                    [title] => Array
                        (
                            [#text] => SlimBuddy Member Feed
                        )

                    [link] => Array
                        (
                            [#text] => http://www.slimbuddy.com/rss/members2.rss
                        )

                    [description] => Array
                        (
                            [#text] => SlimBuddy Live Membership Feed
                        )

                    [language] => Array
                        (
                            [#text] => en
                        )

                    [lastBuildDate] => Array
                        (
                            [#text] => Thu, 16 Apr 2009 01:38:30 +0100
                        )

                    [pubDate] => Array
                        (
                            [#text] => Thu, 16 Apr 2009 01:38:30 +0100
                        )

                )

        )

)


                    [slimbuddy:orderdate] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:mobile] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:support] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:diet_and_nutrition] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:health_and_fitness] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:next_payment_amount] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:initial_duration_of_membership] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:gender] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:transaction_id] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:original_order_number] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:protx_security_code] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:authorisation_number] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:next_payment_date] => Array
                        (
                            [#text] => random content for testing
                        )

                    [slimbuddy:membership_status] => Array
                        (
                            [#text] => random content for testing
                        )

                )

            [feed_elements] => Array
                (
                    [title] => Array
                        (
                            [#text] => SlimBuddy Member Feed
                        )

                    [link] => Array
                        (
                            [#text] => http://www.slimbuddy.com/rss/members2.rss
                        )

                    [description] => Array
                        (
                            [#text] => SlimBuddy Live Membership Feed
                        )

                    [language] => Array
                        (
                            [#text] => en
                        )

                    [lastBuildDate] => Array
                        (
                            [#text] => Thu, 16 Apr 2009 01:38:30 +0100
                        )

                    [pubDate] => Array
                        (
                            [#text] => Thu, 16 Apr 2009 01:38:30 +0100
                        )

                )

        )

)

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.

mattheweigand’s picture

yes, 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.

e2thex’s picture

@mateomiguel when i do you feed i get the following

Array
(
    [title] => Nokia N96 Smartphone
    [description] => 

The Nokia N96 smartphone is the flagship smartphone for Nokia, but it leaves a lot to be desired.
    [options] => Array
        (
            [original_author] => Digital Trends Technology Videos
            [timestamp] => 1231631603
            [original_url] => http://media.digitaltrends.com/digital-trends/ces-2009-lg-cell-phone-projector/
            [guid] => http://media.digitaltrends.com/digital-trends/ces-2009-lg-cell-phone-projector/
            [domains] => 
            [tags] => 
            [all] => Array
                (
                    [title] => Array
                        (
                            [#text] => CES 2009:  LG Cell Phone Projector
                        )

                    [link] => Array
                        (
                            [#text] => http://media.digitaltrends.com/digital-trends/ces-2009-lg-cell-phone-projector/
                        )

                    [description] => Array
                        (
                            [#cdata-section] => 

    
        
        
        
        
        
    

LG shows us their prototype projector in a cell phone.  It just might be the smallest projector ever!
                        )

                    [pubDate] => Array
                        (
                            [#text] => Sat, 10 Jan 2009 15:53:23 -0800
                        )

                    [guid] => Array
                        (
                            [#text] => http://media.digitaltrends.com/digital-trends/ces-2009-lg-cell-phone-projector/
                        )

                )

            [feed_elements] => Array
                (
                    [title] => Array
                        (
                            [#text] => Digital Trends Technology Videos
                        )

                    [link] => Array
                        (
                            [#text] => http://www.digitaltrends.com/
                        )

                    [description] => Array
                        (
                            [#text] => The latest consumer electronic and gadget videos.
                        )

                    [language] => Array
                        (
                            [#text] => en-us
                        )

                    [lastBuildDate] => Array
                        (
                            [#text] => Mon, 2 Mar 2009 18:28:40 -0800
                        )

                    [copyright] => Array
                        (
                            [#text] => 2009 Digital Trends
                        )

                )

        )

)

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?

mattheweigand’s picture

yes, I'm using FeedAPI 6.x-1.6, and Feed Element Mapper 6.x-1.0-beta7.

ikos’s picture

Hi,

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

e2thex’s picture

Just 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?

ikos’s picture

Hi,

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

e2thex’s picture

Sweet!

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.

e2thex’s picture

@mateomiguel

have you had any luck?

mattheweigand’s picture

I 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.

mattheweigand’s picture

Ok, 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.

e2thex’s picture

@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.

e2thex’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.