FeedAPI - there is something to install

Events happening in the community are now at Drupal community events on www.drupal.org.
aron novak's picture

Again, I got lots of valuable responses from my mentors and Morbus, they really kindly follow my work and tell the problems and the suggestions.
You can install the FeedAPI modules to any Drupal 5 site and you can do the following:

  • create a feed
  • edit a feed
  • configure parsers/processors
  • refresh/leech/aggregate (so many synonyms) a feed (create the new items)
  • process the feed and the items into nodes

If you want to try out, please do not download the Drupal-autogenerated package from the project page, because it's probably outdated (refresh once a day as i know).
The best way to access to the module's code:

cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d feedapi contributions/modules/feedapi

The FeedAPI supports: multiple parsers per feed, multiple processors per feed (independent feed and item processors - maybe it's possible to process the feed into a block, and process the feed items into nodes or any crazy configuration)
I'm glad if you can install it/see the code and tell me what's wrong. :) I really appreciate any comments!
To Do (it's missing):
  • There's some namespace conflict, i'm aware of this, i'll resolve
  • It's not possible to create a feed without installed parsers/processors (actually it creates the feed but after you enable the proper modules, it won't work)
  • The processor modules (feedapi_feed and feedapi_item_feed) are really simple, they have almost no configuration possibility now)
  • processors that mimics core aggregator
  • mainly it was tested on PHP5. It should work on PHP4, but it's not sure

Comments

a few observations

moshe weitzman's picture

i setup one rss feed and retrieved items. nodes were created. yeah!

two observations

  • creating a feed at feed/add is unexpected. i expected to see those form fields on a node form (the node type assigned to feeds). it seems that then one is additionally required to edit the feed to add processors and such. this secondary form needs some validation so you can't setup dupes. in the future, we should use a single multistep node form for feed creation.
  • when creating items with common_syndication, the <dc:creator>foo</dc:creator> is ignored. i'd love to see the option to 'match' usernames so that the incoming node becomes owned by the dc:creator if found. would be useful for intranets in particular.

feature request

aron novak's picture

First, Thanks for trying out :)

  • In the module development process, the module is near to a quite big change: dropping feed processors and every feed will be node by default. This change will result an easy solution for this problem. You will find the feed creating under node/add.
  • Ok, I created a feature request for this in the FeedAPI issue queue. After the above mentioned big change is ready, I'll take care of the incoming feature request like this. http://drupal.org/node/163610

Field mapping

boris mann's picture

This is connected to my request / need for further development of a module that does arbitrary mapping of attributes / elements in incoming feeds to native Drupal / CCK based fields. Please think about that in terms of the extensibility of this feature.

I would suggest mapping known elements in feeds to standard, core, Drupal elements would be killer....but might also be more appropriate for a feed_mapping.module. This feed_mapping module is needed and I have clients willing to fund -- I've also pinged DevSeed to see who has the time to implement this.

Hey, Boris, Is there any

alex_b's picture

Hey, Boris,

Is there any tricky conversion involved? Like arbitrary date text to date module style date representation?

There could be

boris mann's picture

You know the state of common feed date representation as much as I do :P

Certain feeds / fields may need custom processor modules to be built, but, for various standard CCK types, it should be straight forward.

As moshe mentions, you could take dc:creator and map it to the drupal author field....or you could map it to a custom, text-based CCK "Author" field.

Like this?

This is a good idea, as new

ericgundersen@drupal.org's picture

This is a good idea, as new services are going to come out with custom container items, like how itunes added additional custom tags to their RSS 2.0. I see a lot of examples of how it would be hot to be able to parse these out... ie a specialized process when adding a feed to feedAPI so that when the system creates a node it will say "there are x, y, z tags in this feed that do not have an existing container to be captured, would you like to ignore these or add a new CCK fields to capture this data?"

RSS & Aggregation

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week