This project has retired. For details please refer to its Attic page.
Welcome to the Feeder Plugin Example
Apache Forrest > Plugins
Plugin: feeder input
 
Font size:      

Welcome to the Feeder Plugin Example

Warning
This plugin is at an early stage of development, some features are not yet complete and the techniques for using it may change. Patches are, as always, welcome

Apache Forrest - Feed Plugin

This is an example site for the Apache Forrest Feeder Plugin. It provides examples of all the functionality in the plugin (look on the samples tab).

Usable Features

Embeding an RSS Feed in a Forrest content object

This sample shows how a single RSS feed can be converted to an XDoc and included in a Forrest site. In order to do this you must first create a feedDescriptor file. This describes all the feeds that your project knows about. A simple example is:

        
        <feedDescriptor>
          <feed id="BBCSport_UK">
            <url>http://news.bbc.co.uk/rss/sportonline_uk_edition/front_page/rss.xml</url>
          </feed>
        </feedDescriptor>
            
            

Note that the feedDescriptor file has not xdoc format. A file named feedDescriptor.xml with exactly the above content should just work.

In order to embed the data from the planetApache feed you create a link in the following form:

<a href="PATH_TO_FEED_DESCRIPTOR/FEED_DESCRIPTOR_NAME.rss.EXTENSION>

In this URL you must replace PATH_TO_FEED_DESCRIPTOR with the directory path to your feed descriptor file, FEED_DESCRIPTOR_NAME with the name of the descriptor file, and EXTENSION with the extension indicating the format you want the feed to be delivered in (i.e. html, pdf etc.)

In Progress Features

Aggregation

Note
aggregation works but is quite inflexible at present

This sample shows how a number of different feeds can be aggregated into a single feed and then displayed in a Forrest site. Creating an aggregated feed is no different to embedding a single feed. Simply add more feeds into your feed descriptor file and then link to it in the same way.

For example:

        
        <feedDescriptor>
          <feed id="BBCSport_UK">
            <url>http://news.bbc.co.uk/rss/sportonline_uk_edition/front_page/rss.xml</url>
          </feed>
          <feed id="USAToday_Sports">
            <url>http://www.usatoday.com/repurposing/SportsRss.xml</url>
          </feed>
        </feedDescriptor>
        
            

Tag Aggregation

Aggregate feeds from multiple tagged sources, for example, include commonly tagged resources from multiple social bookmarking services.

Note
It works but doesn't remove duplicates and since it uses the aggregation templates (see above) is quite inflexible.
Configuration

The feeder plugin provides a default set of resources that will be used for all tag aggregation requests. To customise this configuration you need to provide a locationmap match in your project locationmap like the following:

    <match pattern="feeder.tag-[DESIRED_TAG].sources>
      <location src="resources/taggedSources.xml"/>
    </match>
            

Remember to replace [DESIRED-TAG] with your chosen tag, or, if you want to use the same sources for all tags us a '*'.

Replace the source file with one of your own that describes the locations to retrieve content from. This document should be in the following format:

Now request you resource with the URL:

http://foo.org/DESIRED-TAG.tagFeed.rss.html

For example, the following links aggregate content using the "JISCCommunityDevelopment" tag: