How To Publish Reviews As RSS Feeds

CREATING RSS FEEDS -- Review Foundry Tutorial 06

Adjust Text:  a a a a
« Review Foundry User Manual   |   Tutorial Table Of Contents   |   Obtain Review Foundry »


CREATING RSS FEEDS

Two Kinds of RSS Feeds

Before we jump in and start creating RSS feeds, we need to consider what kind of feed will suit our purposes. Review Foundry allows us to choose between two basic feed content types. One content type is the review. The other is the review item (or product catalog if dealing with merchandise). A review-based feed carries reviews for review items pulled (by the Review Foundry webmaster) according to some selection criteria. For instance, the items might be selected based on a search query performed with a specified keyword. Or the items might belong to a particular category. More on the selection criteria later. The other feed type, the item-based feed carries no reviews, only an item title and a description, and possibly an average customer rating for the item.

Without understanding the psychology of a particular RSS feed audience it is impossible to say which of the two feed types will receive more subscriptions. Unless you already have very good insight into how your readers think, you will likely have to publish both feed content types and monitor subscriptions to each to find out which "works best". Feed monitoring is a separate topic in itself, and will be discussed later, when we consider syndication in detail. It is also true that the selection criteria used to define your feeds will have a strong bearing on the degree to which they are subscribed.

There are 2 ways to create an rss feed using Review Foundry. The first method requires that you establish a record in the RSS table for a custom feed. This kind of feed might be based on a keyword search, for example, and the end result is a single RSS feed. Once you have created this feed you publish it and it appears on a syndication page, along with all the other custom feeds you have created. This kind of feed is discussed in the section entitled Creating A Custom RSS Feed.

The second kind of feed is a straight forward selection of latest reviews for a particular thing, and might result in the generation of a thousand separate RSS feeds. You can edit the stylesheet and RSS template associated with this kind of feed, but you don't get to specify the selection process. The publication of latest reviews for, say, every Item in your database falls into this category. This feed type is discussed in Creating RSS Feeds In Bulk.

Creating A Custom RSS Feed

To create a one-off custom feed (such as latest reviews for cars in the Mercedes category) first go to the Configure control panel and look for the RSS Management link on the left side of the page. This leads to the control panel for RSS feed creation, activation, and deletion.


Create RSS Feed
Each <item> element in the feed represents a single...  
Base new feed configuration on an existing installed feed?  
Choose Unique Feed Identifier. (e.g. "Latest Car Reviews"). This will be used to name the file containing the feed.  

Fill out the form as appropriate for the kind of RSS feed you intend to create. In this case we:

  1. Select Item Review as the feed type as we wish to create a feed of reviews associated with records from the Item Table.

  2. If this was NOT the first time we had created a feed we would be able to base our new feed on an existing one, and would be able to select one of those feeds from the second drop-down menu. This saves time as it pre-populates the forms on the next page with information that we are likely going to use in setting up the new feed. But you can always ignore this option and fill out everything from scratch each time if it suits you.

  3. Each RSS feed needs a UNIQUE IDENTIFIER, or name. This is used to name the rss file and allow you (and others) to recognize the feed by name. Make this a descriptive name that precisely specifies the nature of the feed. The identifier is used for the anchor text of the RSS feed when displayed on the RSS Syndication page, so make it user friendly and informative. In this case we have chosen to call the feed Latest Reviews of DVD Animation Titles.

It should be noted that this contro panel is used to create feeds, not edit them. If you decide after creating a feed that there is something you need to change about it, go to the Database control panel, pull up the RSS table and go to work.

When we proceed to the next step we see a larger form that completely specifies the nature of the RSS feed we intend to create. Most of the time you will have pre-populated this page by basing the new feed on an existing one, and then you will only need to customize a few parts of it. Here is what our form might look like filled out from scratch for our prospective Latest Reviews of DVD Animation Titles feed:


Create Item Review RSS Feed [Latest Reviews of DVD Animation Titles]
Type of thing described by each <item> in the feed. For example, if dealing with either Cars or Car Reviews just enter Car     Car, Movie, Restaurant, etc
Method for populating feed?  
Restrict to a single Category? Specify Category.id  
Group this feed under the following internal RSSGrouping? This optional grouping is used on the Syndication page.  
* <title>  
* <description>  
number of items per feed  
email address <webMaster>  
<category>  
feed cache time in minutes <ttl>   1440 = 24 hr
<language>  
absolute logo url <image/url>
constraints: width <= 144, height <= 31  
xsl stylesheet template. e.g. rss_stylesheet.ttml  
Item table column from which to retrieve the <item/title>  
Review table column from which to retrieve the <item/description>  
Maximum displayed length (characters) of the <item/description>  
names of extra Item columns to make available to the RSS template. separate with whitespace  

There are quite a few variable to provide when fully specifying the feed, so let's go through them:

  1. The first variable, the type of thing described is presently used only to remind us about the nature of the objects behind the feed. It does not appear in the feed itself.

  2. Feeds can be populated in several ways, depending on whether we are dealing with plain review item feeds or feeds of reviews. In the latter case, the only option currently is to populate the feed with the most recent reviews. In the former case, when dealing with item feeds, we can restrict the selection of items to those that match a supplied search keyword, or even to those that happen to be "featured" items.

  3. If we want to restrict the review items to a particular container we can do so by specifying the ID of the container (the integer ID). Else leave it blank.

  4. If we create a large number of feeds we will benefit from a classification scheme of some sort. This will allow us to group feeds by a header (such as Disney or Fox Classics) on the Syndication page. These classifications can be added to the RSSGrouping table beforehand. If no groupings are available, this input field will be absent from the form.

  5. The title of the feed is a required element. It appears in the feed. It need not be the same as the unique string used to identify the feed, though this will be used to populate the form initially. The title will appear at the top of the RSS feed, and tells readers what kind of items they are looking at.

  6. Oftentimes the feed description will not be published when a webmaster displays a feed on their site. But this variable is required nonetheless. It might be used by a sole subscriber to the feed who adds it to their RSS reader.

  7. The default number of items in a feed is 15. You can specify more or less.

  8. You should provide an email address at which you may be contacted if an RSS subscriber has questions about the feed.

  9. The category field is somewhat nebulous in an RSS feed. If you think the items in your feed can be well described by a short string, use it here.

  10. The ttl field, or time to live specifies how long an RSS Reader should cache the feed, so that it need not retrieve the feed from your site. This time is specified in minutes. So 1440 if you publish your feed daily.

  11. Select the primary language of your feed.

  12. If you have a small logo that can accompany the title of your feed when displayed in a client RSS reader, add it here.

  13. Each feed makes use of an XSL template to format the feed when displayed on your site. Choose an appropriate template (or use the one suggested). There is one main XSL template for reviews, and one for each of the item, member, and supplier types when creating review item feeds.

  14. Select the column from which an individual <item> title is to be selected.

  15. Select the column from which an individual <item> description is to be selected.

  16. The description field can be truncated in order to force a reader to return to your site to read the remainder. This field is measured in the number of characters to display.

  17. If you intend to provide custom fields in your RSS feeds you can have Review Foundry export these fields to the feeds. For example, if you added price and run_time columns to your Item table to better characterized your DVDs, you could add these values to the feed (formatting them is another story--study the XSL templates for clues).

When you have completely specified the RSS feed, click on the Create Feed button to add it to the RSS table.

Creating RSS Feeds In Bulk

In the previous section we looked at how to create a solitary feed for a particular selection criteria. Now we are going to look at how to create RSS feeds for every reviewable thing in your database. What this means, of course, is that if you have an Item table with 8,000 records in it, you are going to be creating 8,000 RSS feeds. So this kind of process requires a somewhat different approach. It is going to take time to build or update this set of feeds, and you are going to need to use disk space to store them.

But, first, why would you want to create RSS feeds in bulk this way?

Consider this scenario: You use Review Foundry to publish customer reviews for all the bowling allies on the East Coast. When you publish an RSS feed of the latest reviews for every one of those businesses, each can come to your site, get the URL for the feed, and publish those reviews on their own pages! Suddenly your content, and backlinks to your site can be on dozens or hundreds of websites whose theme matches your own. That's a recipe for great organic ranking in the search engines. That's why you'd want to publish RSS feeds of this kind.

Here's another scenario: You have a small but vocal group of reviewers who publish regularly on your site. By creating a RSS feeds of their latest reviews, they can include their reviews in their blog or on other pages of their personal web site. Again, more traffic for you.

So here is how you create RSS feeds of latest reviews for any Item, Member, or Supplier. Note, these are reviews about the Item, Member, or Supplier. An RSS feed of reviews written by a member is another story altogether and we'll get to that later.

Go to the Database control panel and use the left side menu to pull up the RSSThingReview table. Select the Add option in the menu to get the record addition page to appear. It should look something like the following:


Add RSSThingReview Table Element
* ID  
* Feed Title  
* Feed Description  
Webmaster  
Feed Language  
Feed Category  
Feed TTL  
Feed Image URL  
* Item Title Column  
* Item Description Column  
Description Truncation Length  
* Items Per Feed  
Exported Columns  
* RSS Template  
XSL Stylesheet  
* Is Activated  

In this form the first element, the ID, can be one of 3 values: Item, Member, or Supplier. This corresponds to the relevant review branch for which RSS feeds are to be created. So there is a maximum of 3 records in this table. Most people don't run a Member branch populated with Teams, so likely you will only be interested in the possibility of creating RSS feeds for all of your Items, or Suppliers.

As you can see by inspecting the form, some of the fields have tags that look like this: [* thing.known_as *]

What this means is that, for these fields, if you leave in the tag it will be replaced by the corresponding value for the thing record. In this case, where we are filling in the form for an RSS feed of latest reviews for every Item, [* thing.known_as *] evaluates to the Item.known_as value. You will note that we are not using the Template Toolkit syntax for tags [% like_this %] because this is not a Template Toolkit substitution. Just a simple string replacement. You can use any of the columns in the thing table you like. You might put [* thing.addr_zipcode *] in the Feed Description field if you want the zipcode to appear for that field. It is up to you.

Likely you'll want to leave the Feed Title field as is, and develop the Feed Description field some. Also, you can change the Webmaster field to your own email address if you like (an empty field will result in the substitution of your generic support email address). Most of the other fields are the same as the ones for the custom RSS feed case. Note that you must activate the feed before you can actually attempt to build RSS feeds based on this record (building will be discussed later).

Feed Category
Put anything you want in here. It is an RSS categorization field. If these are car reviews you are publishing, I recommend you add the term Car Reviews.

Feed Image URL
If you are wondering about the Feed Image URL, only specify that if you want your logo to appear in the RSS feed reader used by viewers who subscribe. It needs to be an absolute URL to your logo, and the image must have physical dimensions no greater than 144 pixels wide and 31 pixels tall (that's an RSS specification).

Exported Columns
You can ignore this field. It is only for advanced users who want to add more information about the thing to the RSS feed. For example, if you have a Item.price that you wanted to put into the RSS feed, as a custom field, then adding price to the Exported Columns field would mean that this information is passed to the RSS Template. You still have to edit the RSS Template to format the information, but in principal you can make the information available and it can appear in the final viewed feed. To export multiple thing columns, you separate the column names with a space character.

Templates
There are 2 important fields that should not be glossed over: the RSS Template and the XSL Stylesheet (optional). These are template filenames. You can use the default template recommendations, or (if you are technically adept) you can develop your own version of these templates and assign those instead.

The RSS Template file contains all the logic that decides what should appear in your RSS 2.0 formatted feed. There are basic RSS 2.0 fields in there, and there are custom fields, that allow us to create nicely formatted feeds when finally viewed in a browser. The accompanying XSL Stylesheet will take care of that for us. If you don't specify an XSL Stylesheet the user is going to see either a non-formatted RSS feed, or one that is formatted with whatever software they are using to view the feed. I recommend going with the XSL style sheet, as it offers some nice features that I'll explain shortly.

Next Section: PUBLISHING RSS FEEDS

« Table of Contents


Copyright © 2004 Random Mouse Software. All Rights Reserved.