Aggregating Feeds

Aggregation is done by a Drupal installation at. Currently it is reading RSS and simple XML feeds coming from a handful of Fab lab websites and organizing the incoming content to be browsable by lab location, machine(s) and material(s) used in manufacturing.

The following Drupal modules were used:


 * Feeds
 * Feeds XPath Parser
 * Feeds Image Grabber
 * Views
 * CCK (content construction kit)
 * Views XML -> Views Bonus Pack

=Content type for incoming feed items=


 * CCK (content construction kit)

A common input type for all incoming feed items was created in order for making the content more uniform and searchable: FabMoment from Feed

Fields:


 * Title = default, required field
 * Body (description) = default, required field
 * Original creator
 * Image link
 * Source link
 * Source URI

=Making things searchable=

Content vocabularies

 * Taxonomy

Taxonomy is what Drupal offers out of the box for classifying and sorting out the content. The following taxonomy vocabularies were set up for FabMoment from Feed content type.


 * location
 * Set per incoming feed
 * Hierarchical: continent-country-(state)
 * machines
 * All the standard Fab lab machines
 * read from the incoming feed item (XML only)
 * material
 * TBD - materials can
 * read from the incoming feed item (XML only)

Displaying content

 * Taxonomy

Drupal Views module enables sites builders to create flexible output from the content in the system. Views were created to display the above vocabularies. Clicking on a vocabulary item (term) visible on the left side of the page, all content items tagged with that term are shown. As an added bonus, out of the box Drupal also offers an outgoing RSS feed for each term, e.g. "all FabMoments where 3d printer was used" ->

=RSS feed processing=

The standard RSS / Atom feed imported is attached to content type Feed - configuration happens at
 * Feeds
 * Feeds Image Grabber

=XML feed processing=


 * Feeds XPath Parser

Feeds XPath Parser module enables Feeds module to be configured to receive and map any type of XML feed input to site content types.


 * Importer name: Fabmoments XML importer
 * Attached to feed type: FabMoment XML feed
 * Configuring the feed:
 * Mapping feed items (sources) to content pieces in Drupal (targets):
 * Presets for all feeds of this type (so they don't have to be re-mapped at feed creation):

=Setting up outgoing XML feed (Drupal)=


 * Views XML
 * TODO: Views Bonus Pack

Drupal Views module enables sites builders to create flexible output from the content in the system, including user-configurable XML feed. Views XML was experimented with to create simple XML output from FabMoments published on the site. As this module is now deprecated, Views Bonus Pack is currently being tested to see if it can provide configurable enough XML feed output.

=Setting up outgoing RSS feed (Drupal)=


 * Views

A display "feed" was added to a previously set up view to display FabMoments. This provided a default RSS feed output of all the published FabMoments on the site.