RSS - A Primer for Publishers & Content Providers
Version 1.00 20th August 2003
M.Moffat, EEVL Development Officer, email: m.moffat@hw.ac.uk
|
 |
These guidelines have been produced by EEVL, the Internet
guide for engineering, mathematics and computing, as part of a JISC
funded PALS Metadata
& Interoperability project which aims to encourage the sharing of news
and alerts in machine readable formats.
Thanks go to our project partners (Centaur
Communications, Pro-Talk Ltd and
Gojobsite) for their input and to
Andy Powell and Paul Miller of UKOLN for
their valuable comments and feedback.
This document is aimed at publishers and content providers with
the intention of introducing & explaining the concepts behind RSS and addressing
some commonly expressed concerns. It is primarily intended for a non-technical
audience who require an overview of RSS in order to allow them to make decisions
regarding the possible use of the technology. However, the guidelines do provide
recommendations for good practice, case studies on RSS production and links
to tools and specifications which will provide useful starting points for those
tasked with actually producing RSS feeds.
2. Why Should Publishers & Content Providers Produce
RSS?
|
|
In a nutshell RSS allows potential users to see some of your site's
content without them actually having to visit it directly. Although at first
glance this might not seem like the ideal way to encourage visitors it can actually
vastly improve your site's visibility and reach by making content
available in a more convenient manner. As Nottingham [1]
explains ;
"Imagine that your company announces a new product or feature
every month or two. Without an RSS feed, your viewers have to remember to come
to your site and see if they find anything new - if they have time. If you provide
a feed for them, they can point their aggregator or other software at it, and
it will give them a link and a description of developments at your site almost
as soon as they happen. News is similar; because there are so many sources of
news on the Internet, most of your viewers won't come to your site every day.
By providing an RSS feed, you are in front of them constantly, improving the
chances that they'll click through to an article that catches their eye."
The main benefits of creating an RSS feeds include;
- RSS is an excellent and cost-effective way of driving traffic to,
and increasing brand awareness of, any website that publishes content
(e.g news, jobs, events) regularly. Once a publisher produces an RSS file,
they are enabling others to syndicate their headlines, without any further
work on their part.
- RSS is the dominant format for distributing headline content on the
Web.
- RSS allows easy sharing of data between sites. Webmasters can use
an RSS file to easily incorporate third party content into their own site.
- Content from RSS feeds can be easily repurposed allowing, for example,
cross searching of a number of different feeds at once.
- RSS content can be added to personal desktop news reading applications
like Feedreader or AmphetaDesk.
RSS is now being used by literally thousands of sites both large and small.
Over 20,000 feeds are listed at www.syndic8.com
including those from thousands of small organisations and many larger ones (including
BBC, CNN, NASA, Moreover, Wired etc). There has been a large increase in the
number of feeds available. Increasingly, large industry players such as Microsoft
are providing their products with RSS aggregator facilities.
"Before you go any further realise this: RSS is really simple"
[2]
Put simply RSS is a format for easily sharing content on the web. What
type of content? Commonly things such as news items, job adverts, or marketing
communications are ideal candidates for RSS although almost any list orientated
information can be suitable.
Some key points to be aware of from the outset include:
- The use of RSS benefits everyone involved - for publishers and content
providers details of new content can be accessed by a much broader audience,
for web site producers new content can be easily integrated into web sites
or portals, and for end users easy access to new content is greatly facilitated.
- An RSS file (also known as an RSS feed or RSS channel) consists of
a list of items, each of which contains a title, description
and a link to a web page. Typically the full content itself is made
available separately and can be accessed by the link in the RSS file.
- Utilising an RSS feed is straightforward. Once an RSS file is made available
on a web site, interested parties can simply gather the file from the site
and reuse the content in a variety of ways.
- There are a number of different versions of RSS. Although this has
led to some confusion and debate it is not a major issue as almost all RSS
applications can handle any RSS version.
- RSS can stand for 'Rich Site Summary', 'RDF Site Summary'
or 'Really Simple Syndication' depending on who you ask and which version
they are speaking about.
- RSS is an XML based format. If you already know a bit about HTML
and XML then RSS will be a breeze!
The terms Syndication and Aggregation are often used in the context
of RSS. Dictionary definitions of 'syndication' are along the following lines;
'Distributing a news article or picture through a syndicate for
publication in a number of newspapers or periodicals simultaneously'
'Syndication' is often used in the context of RSS because it is all
about distributing content for reuse.
Because RSS is an XML format and not simple HTML, RSS files must be processed
(or 'parsed') before they can be displayed. RSS aggregators are applications
which provide the means to read the content of RSS files. Some of these aggregators
are web based (e.g. NewsIsFree, Daypop) others are programs which can be downloaded
and used on the desktop as standalone programs (e.g. Feedreader, Amphetadesk).
Aggregators are also being developed to allow feeds to be read in a number of
commonly used applications such as web browsers and email clients.
What does an RSS File look like?
|
|
Exactly what an RSS feed looks like will depend on which version of RSS is
being used but at the most basic level a feed consists of a channel with
its own attributes (e.g. title, description, URL, creation date etc) and a number
of items each which their own attributes (e.g. title, description, URL
etc). A schematic diagram outlining the basic structure of an RSS file is illustrated
below:
The information enclosed between the <channel> tags is used to describe
the feed itself. The code snippet below illustrates a typical channel description.
<channel>
<title>BBC News | UK | UK Edition</title>
<link>http://news.bbc.co.uk/hi/uk/default.stm</link>
<description>BBC UK News updated every minute of every day</description>
</channel>
Each item in the RSS feed is described between <item> tags and at the
most basic level these include title, links and descriptions as illustrated
below.
<item>
<title>Clare Short quits post over Iraq</title>
<description>Clare Short quits the cabinet, accusing Tony Blair of breaking
his promises over the UN's role in rebuilding Iraq.</description>
<link>http://news.bbc.co.uk/hi/uk_politics/3019871.stm</link>
</item>
Icons are sometimes used by webmasters to link to RSS files although there
is little standardisation on the actual icons used - the colour, text and size
may vary from these illustrated below.
The benefits of RSS are perhaps best illustrated by observing how others have
used the format and actually trying out some RSS aggregators and readers. To
that end this section provides details of the following;
a) An example of how RSS is used at the BBC to allow some of their content
to be included in other websites and services.
b) An example of a simple web based aggregator service.
c) Details of desktop RSS readers. These are small stand alone applications
that can be downloaded from the web and used to read RSS channels.
a) Example RSS at the BBC
The BBC News Service produces a number of different RSS feeds for a variety
of their content including;
BBC - World News at
http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/world/rss091.xml
BBC - UK News at
http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/uk/rss091.xml
BBC - Front Page at
http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/front_page/rss091.xml
BBC - Technology at
http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/technology/rss091.xml
These BBC feeds can be gathered on the web by a variety of third parties who
can then utilise the content in a number of ways. Typically by integrating
it into their websites, indexing it for searching, making it available to
desktop feed readers or via online aggregators. This has the net effect of
vastly multiplying the number of end users who may come into contact with
the BBCs headlines.
Anyone following one of the links is taken back to the BBC site for the full
story. The BBC benefits as their stories are made available to a much wider
audience resulting in more visits to their site, and end users benefit as
they can be made aware of relevant stories in ways that are convenient to
them. It is incredibly easy for an end user to monitor literally hundreds
of websites using an RSS aggregator but is very time consuming to monitor
the same sites without one.
As one commentator [3] noted;
"This is a smart move on the BBC's part. It means increased
traffic and increased visibility for news.bbc.co.uk, because users are able
to syndicate BBC headlines to their own sites and read syndicated content
via an RSS reader. It's always refreshing to witness a news site that has
a clue, technologically."
b) Try a Simple Web based RSS Aggregator
A basic web based aggregator has been developed by EEVL;
This site demonstrates aggregation at its simplest level. It is possible
to select from a list of feeds and subsequently view the individual feeds
content. The range of feeds have been arbitrarily selected in order to demonstrate
the variety of RSS content which is available. Other more sophisticated aggregators
include:
- Meerkat
http://www.oreillynet.com/meerkat/
Meerkat is a Web-based syndicated content reader which aggregates content
from a wide range of science & technology related feeds. By default
the service provides a chronological listing of news items - the latest
stories being presented first, regardless of their source. It is also possible
to select individual feeds or groups of feeds for display and to search
across a range of feeds.
- Linux Portaloo
http://www.linux.org.uk/cgi-bin/portaloo
The Linux Portaloo provides an aggregator service for Linux related RSS
feeds. It is possible to view the titles of news items from a range of feeds
and the display of feeds can be modified by 'adding' or 'unsubscribing'
particular channels.
c) Try a Desktop RSS Reader
Perhaps the clearest and simplest way of illustrating the benefits and flexibility
of RSS is to try a desktop feed reader. A number of readers are currently
available and most, but not all, share a three panel layout consisting of
feed selector, feed display and content display.
Feeds can be subscribed to, selected and read effortlessly making the power
and convenience of monitoring a number of personally selected feeds rapidly
apparent.
Readers we have tried and been impressed with include Feedreader
and Amphetadesk although
a wide array of other readers exist. It should be straightforward to download
a reader, install it on your desktop and add a number of feeds of interest.
A small list of feeds is provided in section 5 and details
of how to find other feeds is provided in section 9.
4. RSS - Common Questions Answered
|
|
Content providers may have legitimate concerns about sharing their prized content.
Some of the most commonly expressed questions are addressed below.
"If it's all about sharing content why can't we just provide you
with a link to our most recent news, jobs, events information?"
Simply providing a link to your content does not allow it to be shared and repurposed
easily and in a standard way. The beauty of RSS is that little effort is required
for third parties to reuse you content and make it available to their visitors.
"It sounds quite complicated - will it be a lot of work for our
techies?"
For those familiar with HTML and XML, RSS will be easy to grasp. There are many
ways of producing RSS feeds which range from simple editors which will produce
all the code for you to RSS generated automatically from backend databases which
will require some technical input. [See section 6 for further
details]
"I don't like the thought of giving away our content for others
to use."
Usually RSS feeds only contain a headline and brief description of the actual
content - just enough to generate interest in potential users. These users will
be directed back to your site by links in the feed to get the full content.
If you are very worried about giving away any of your content one approach would
be to include only a title and URL for each item in the channel. This would
mean that potential users would have to visit your site to get any useful
information.
"Won't there be a loss of traffic to my site?"
No, the beauty of RSS is that it can actually drive traffic to you site. Users
see the headlines describing your content via the feed but actually come to
your site to get the content.
"What about branding of my site's content?"
Every RSS channel can include the name, logo, description and search URL of
the service that made the channel available. It is reasonable to expect services
that use your channel will display this information.
"If I make an RSS channel available, am I losing control over my
look-and-feel?"
Yes and no! Yes, you are giving a little of your content away as XML and letting
other services present it within their own look-and-feel. However, the overall
result should be that more people visit your pages and see the complete content
in the way you intended.
"Can I tell who is accessing and using my RSS feeds?"
It is possible to look at the web access statistics from your web server which
will give some indication of who is picking up your RSS feeds. However, this
is far from the whole picture as a single aggregator could potentially pick
up your feed and thousands of end users could, in theory, view the contents
with only a single 'hit' to your RSS file. More sophisticated techniques could
be employed to help track feed usage, for example adding parameters to the URLs
within feeds would allow a webmaster to monitor the hits to a page arising from
an RSS channel.
"Does Google index RSS feeds?"
Google does index RSS documents as evidenced by the fact you can limit searches
to RSS using the filetype:rss operator while performing a Google search.
For example a search of on Google using 'BBC filetype:rss' will result
in a number of RSS feeds being retrieved. However Google's indexing of RSS feeds
appears to be far from complete. A number of specialist search engines which
index only RSS feeds are available including Feedster (www.feedster.com)
and Newsisfree (www.newsisfree.com).
"Can we charge for people using our RSS feeds?"
RSS feeds are usually made freely available for any interested parties to use.
However it is possible that publishers could decide that a feed could be licensed
in some way with only authorised users being given access to the RSS file. Another
option is that publishers could make an RSS feed freely available but force
users to 'subscribe' in order to gain access to the full details on their site.
"What's the relationship between RSS feeds and Weblogs?"
A weblog (sometimes shortened to 'blog') is a web site of an individual
or group that uses a dated log format that is updated on a daily or very frequent
basis. RSS is a good format for creating weblogs and the format is used in weblog
software such as Radio UserLand.
"Can you include search boxes into RSS feeds?"
Yes. The textinput element allows small text boxes and submit
buttons to be included within an RSS Feed. Many but not all RSS parsers support
this feature and it can be used to provide functionality such as searching a
database or signing up for an email newsletter. Remember though that even if
a search box is included in a feed those picking it up may choose not to utilise
it.
"Why can't I view an RSS file in my web browser?"
Web browsers vary in their ability to deal with raw RSS files. More
recent browsers such as Internet Explorer 5.5+ or Mozilla will allow you to
view the actual XML code of RSS files within the browser window. Attempting
to view an RSS file with a recent browser should allow you to see the raw XML
code. Alternatively the feeds can be read by using a desktop reader as described
in section 3
"Can I include symbols and special characters in my RSS feeds?"
Not without great care. Certain characters within XML have special significance
(such as <, >," or &) and using them within the text of the feed
(e.g. within item descriptions) will cause problems. There are means of including
special characters by 'encoding' them within your feed. For example &
can be used to include the & character within a feed. Failing to
encode symbols and special characters can make a feed unreadable or make it
display incorrectly. It is a good idea to use an RSS validator
to check that the feeds you are producing are valid.
RSS is truly a win - win for all involved. If you've a concern or question
that we've not covered here we'd like to hear it! email webmaster@eevl.ac.uk
5. Identifying Suitable Content
|
|
RSS is a very flexible format and can be used to describe just about any kind
of online content e.g. news headlines, job adverts, press releases, conference
or events announcements. Virtually any list-orientated type of content could
be considered as a candidate for an RSS feed and other possiblities might include
new book listings, marketing communications, product announcements, service
announcements, tender opportunities or web logs. There are many possibilities!
It is better to provide different feeds for each area of content as this will
allow those utilising your feeds to target areas of interest more precisely.
For example a jobs site might produce a range of feeds for various subject disciplines,
and a news related site might produce feeds for different categories of news
such as local, national, sports and world news or for different sectors.
The list below provides links to some example RSS feeds which utilise different
forms of content.
Specialised Industry News
Engineering News from Moreover
http://p.moreover.com/cgi-local/page?index_engineering+rss
Materials News from Nature Publishing Group
http://www.nature.com/materials/rss.rdf
European Space Agency News
http://sci.esa.int/newssyndication/rss/sciweb.xml
General News Headlines
BBC - UK News
http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/uk/rss091.xml
BBC Technology News
http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/technology/rss091.xml
Job Adverts
Engineering and Technology jobs from jobs.ac.uk
http://jobs.ac.uk/rss/1010.xml
Engineering jobs from Gojobsite
http://www.gojobsite.co.uk/feeds/en_jobs.rss
Engineering jobs from The Engineer
http://www.e4engineering.com/rss/e4rssjobs.asp
Jobs/Career News
Nature jobs
http://www.nature.com/naturejobs/rss.rdf
Science's Next Wave UK
http://nextwave.sciencemag.org/rss/nwuk.xml
Press Releases
EEVL Latest News
http://www.eevl.ac.uk/rss/latest-news.rss
Cape Clear Press Releases
http://www.capeclear.com/pr.xml
Conference/Events Announcements
LTSN Engineering- Highlighted Events Channel
http://www.ltsneng.ac.uk/rssfeeds/rss091events.asp
Engineering Institute of Canada - Upcoming Events
http://www.eic-ici.ca/english/info/channel-info.php3
Latest Table of Contents
Ariadne Magazine
http://dois.mimas.ac.uk/rss/ariadne.xml
D-Lib Magazine
http://dois.mimas.ac.uk/rss/dlib.xml
Tenders and Contracts
e4subcon.com Tendering Opportunities
http://www.e4engineering.com/rss/e4rsstenders.asp
The scope here is not to provide step by step guidelines as to how to actually
produce RSS feeds but to provide some illustrative examples, case studies &
recommendations to demonstrate that a range of mechanisms are possible. Hopefully
this should guide you in your task of the best means to produce RSS for you.
Technical pointers including RSS tutorials, tools and recommended reading are
covered in section 7.
There are a range of ways, both manual and automated, by which RSS feeds can
be produced:
Manual RSS Production
- Coded by Hand - This time consuming option is certainly possible
if you enjoy typing lots of angled brackets! There is not much to recommend
this way of doing things apart from the possible benefit of developing a familiarity
with the RSS format.
- Use an Online Editor - Online editors exist which can produce an
RSS channel simply by filling in an HTML form with no code writing required!
Examples include UKOLN's RSSxpress
channel editor which creates RSS 1.0 feeds and the RSS
Channel Editor from webreference which creates RSS version 0.91 feeds.
Once created these feeds can be saved locally and uploaded to a web server
for public use.
Automatic RSS Production
- RSS production from HTML ('Scraping') - Content produced in HTML
format can be converted into RSS by a process known as 'scraping'. Scrapers
attempt to automatically identify items suitable for RSS by analysing the
markup on a web page. Feeds produced in this way tend to be of lower quality
than those tailor made by other means, although scraping can be enhanced by
the use of special HTML tags designed to assist scraping programs. MyRSS
provides a 'create a channel' service which will produce an RSS feed by scraping
the content from any web page. Producing RSS via scraping clearly has some
legal ramifications. For instance scraping from pages which are designed to
assist scraping programs is likely to be ok, whereas scraping pages without
the producers knowledge may well be illegal.
- RSS generation from a CMS - If your content is managed by a commercial
Content Management System (CMS) then RSS production should be very straightforward
as many CMS packages will export data in RSS format.
- RSS Generation from a Database - Data stored in a database can provide
an ideal starting point for RSS production. There are a range of RSS tools
available for a number of different platforms as outlined in section
7.
Illustrative Case Studies
|
|
Case Study - RSS via an Online Editor
The RSS News feed which provides details of EEVLs latest news was produced
by using the UKOLNs RSSxpress RSS Channel Editor available at http://rssxpress.ukoln.ac.uk.
This service can be used to create new channels or modify existing ones. Creating
a new channel is a fairly straightforward matter of choosing to create a new
feed from the RSS Channel Editor Page and filling in the appropriate fields
on the web page. For complete RSS novices the main hurdle to be overcome is
working out exactly what to put in each field as no help is provided on the
site and some rudimentary understanding of RSS is required to work things
out. By a process of trial and error it doesn't take long to get the appropriate
information in the right places. Selecting the save option then allows you
to save your RSS file locally and it can then be FTP'd to your web server.
Once you've produced a feed in this manner it is possible to modify it again
using the RSSxpress Channel Editor. To do this the URL of the feed is entered
into the editor which then loads the feed ready for editing. Changes can then
be made, for example adding new items to your channel or deleting old ones.
When the edits are complete the file is saved locally and FTP'd across to
your web server, replacing the older version.
The advantages of producing RSS in this way are that the editor produces
valid RSS V1.0 code without you necessarily having to familiarise yourself
with the complexities of RSS and RDF. On the downside is the fact that creating
RSS in this manner is a manual process and while the editor speeds things
up to some degree any changes made to the feed require some human effort.
We have found this method suitable for producing a feed which covers ad-hoc
news and press releases which are not stored in a database and do not change
on a hour to hour basis. More dynamic content would be better dealt with by
some means of automated RSS production.
Case Study - RSS Generation from a Database
RSS feeds that provide details of the latest items added to a database can
be generated using a scripting language such as Perl, PHP or ASP. At EEVL the
feeds which provide details of the latest items added to our Internet Resource
Catalogue database are generated dynamically by using PHP. Essentially the process
used to create our feeds can be broken down into the following steps;
1. Identify an existing RSS feed which can be used as a template and save it
as a text file.
2. Take the 'static' part of the RSS feed i.e. <channel> and <image>
tags and modify them so that they describe the feed you want to syndicate.
3. Create print statements (or equivalent) for this part of the RSS e.g.
Print'<?xml version="1.0"?>\n\n';
Print '
<rdf:RDF>
<channel rdf:about="">
<title>
MY TITLE
</title>
<link>http://</link>
<description>
MY DESCRIPTION
</description>
</channel>
<image rdf:about="http://">
<title>
MY TITLE
</title>
<link>http:// </link>
<url>http:// </url>
</image>';
//This is where the code for 'items' data is inserted
Print'
</rdf:RDF>';
4. Create the query that will retrieve the required data from your database
- note that a RSS feed should ideally have fifteen or less items. At EEVL we
use a query along the following lines to select the newest fifteen entries in
our database;
results = 'SELECT
url,
title
description
FROM
database
WHERE
date_created is recent
ORDER BY
Date_created DESCENDING
LIMIT
0,15'
5. Insert the code that will iterate through these results and print the <item>
tags e.g.
Loop_count=1;
WHILE (results){
Print '<item rdf:about=url position="Loop_count">'
Print '<title>
title
</title>';
Print '<link>
url
</link>';
Print '<description>
description
</ description >';
Print '</item>';
increment(Loop_count);'
};
6. Debug and test with one of the online XML validators such as http://feeds.archive.org/validator/
7. If you want to serve your feed dynamically you need to add the line:
Print 'Content-type: text/xml\n\n'
to the start of your program. Otherwise if you are printing to a file on your
webserver you have to make sure that the web server is configured so that it
serves your file as text/xml.
7. RSS - Technical Pointers & Web Resources
|
|
There are currently multiple versions of RSS in use including RSS 1.0, RSS
2.0 and many deprecated versions. Both RSS 1.0 and RSS 2.0 are being separately
and independently developed - RSS 2.0 is not a progression of RSS 1.0
despite what the version numbers might suggest. There has been much debate about
which of these version is better but both have their own benefits and drawbacks
and most RSS applications and tools support both formats. Both formats are based
on XML and have general similarities in structure.
RSS 1.0
In this version RSS stands for 'RDF Site Summary'. RSS 1.0 utilises the
Resource Description Framework (RDF) which
is the W3C recommendation for metadata. Due to the use of RDF, RSS 1.0 is thought
to be more flexible, if more complex than other versions. The specification
and supporting materials can be found at http://web.resource.org/rss/1.0/
|
Basic Structure of an RSS 1.0 file
<rdf>
<channel />
<image />
<textinput />
<item />
<item /> ...more items
</rdf>
|
[Example RSS 1.0 File]
|
RSS 2.0
In this version RSS stands for 'Really Simple Syndication' and the
emphasis is clearly on simplicity. RSS 2.0 follows on from the various RSS 0.9x
specifications (RSS
0.90, RSS 0.91, RSS
0.92, RSS 0.93 ) and is
championed by David Winer of UserLand. Although RSS 2.0 is the current version
RSS 0.91 is still the dominant format on the web in terms of the sheer number
of feeds. The specification and supporting materials for RSS 2.0 can be found
at http://backend.userland.com/rss
|
Basic Structure of an RSS 2.0 file
<rss>
<channel />
<image />
<textinput />
<item />
<item /> ...more items
</channel>
</rss>
|
[Example RSS 2.0 File]
|
RSS Tutorial for Content Publishers and Webmasters by Mark Nottingham
http://www.mnot.net/rss/tutorial/
This tutorial explains the features and benefits of RSS and gives a brief technical
overview of it. The reader is assumed to have some familiarity with XML and
other Web technologies. Links to further materials are provided. [note: the
tutorial was written in 2002 and describes RSS V 1.0 and RSS V 0.91]
RSS Workshop -Publish and Syndicate Your News to the Web
http://gils.utah.gov/rss/
This fairly technical workshop demonstrates how to create, validate, parse,
publish, and syndicate RSS channels. The emphasis is on practical application
and links to a wide range of tools is provided.
Making Headlines with RSS
http://www.webtechniques.com/archives/2000/02/eisenzopf/
Jonathan Eisenzopf explains how his XML::RSS Perl module can be used to create
an RSS 1.0 file.
Creating an RSS News Feed with PHP and MySQL
http://www.lowendmac.com/tech/php16.html
A brief article which describes how PHP can be used to generate RSS from a MySQL
database.
Generating RSS with ASP
http://www.purplepages.ie/site/articles/article.asp?faq=6&fldAuto=76
Short article illustrating how Active Server Pages can be used to create RSS
from a MS Access database.
A number of further tools are listed at http://blogspace.com/rss/tools
It is important to validate RSS feeds as the XML they contain must be well
formed if they are to be parsed without errors. A number of web based validators
exist which allow you to check RSS feeds, including;
Redland RSS 1.0 Validator and Viewer by David Beckett
http://www.redland.opensource.ac.uk/rss/
RSS Validator by Mark Pilgrim and Sam Ruby.
Validates RSS 0.91, 0.92, 0.93, 0.94, 1.0, and 2.0, but it is optimised for
RSS 2.0 feeds.
http://feeds.archive.org/validator/
RSS-DEV
RSS 1.0 discussion group
http://groups.yahoo.com/group/rss-dev/
RSS2-Support
RSS 2.0 support group.
http://groups.yahoo.com/group/RSS2-Support/
Syndication
Discussion of XML news, announcements, syndication, resource discovery formats
http://groups.yahoo.com/group/syndication/
Content Syndication with RSS by Ben Hammersley is an excellent starting
point for further information on all aspects of RSS. The book covers the main
standards & specifications, details of RSS Modules which can be used to
extend the format, and some fairly indepth explanations of how RSS can be created
using tools such as the XML::RSS perl module.
 |
Hammersley, B. Content Syndication with RSS. O'Reilly
UK, 2003
Via
Amazon
|
Other useful RSS articles include;
Cliff, P. RSS - Sharing Online Content Metadata, Cultivate Interactive,
issue 7, 11 July 2002
URL: <http://www.cultivate-int.org/issue7/rss/>
Bisson, S. Success with RSS. in SIGS Application Development, Sep 2002
URL: <http://www.appdevadvisor.co.uk/Downloads/ADA6_7/Bisson6_7proofed.pdf>
8. Good Practice Recommendations
|
|
Paul Miller [4] makes a number of recommendations for good
practice in the use of RSS. These and some other practical guidelines for good
practice are summarised below;
- Use the RSS 1.0 specification because of its greater flexibility.
- Validate RSS feeds using an RSS validation tool.
- Ensure that the locations of RSS feeds are persistent, and institute procedures
to ensure that they are running and available.
- Maintain one or more feeds with changing content, rather than creating new
ones each time there is new content to deliver.
- Restrict RSS feeds intended for embedding in external web sites, portals,
etc. to not more than six <item>s.
- Avoid excessively long descriptions of feed items (50 words maximum). Ideally
you should provide enough of a description to allow potential viewers to decide
whether they should follow the link.
- Ensure that RSS sources are kept fresh with topical and timely content.
Archive or delete older material, rather than allowing it to languish at the
bottom of the list.
- Understand the purpose of each RSS feed you provide. Provide multiple feeds,
rather than diluting the message of one with information irrelevant to its
audience.
- Make sure your feeds are visible by registering them with appropriate sites
[see section 9].
- Ensure that the content of an item's <title> and <description>
make sense when viewed in isolation. This is because not all viewers will
display the entirety of a feed so it is wise to provide meaningful, independent
titles & descriptions.
- Make sure the language & terminology in your feeds make sense to the
widest possible audience - avoid complex jargon and acronyms.
- Write text for entries that is suitable for delivery through a wide variety
of display channels, and to audiences not necessarily accustomed to the subject
matter.
- Make full use of the subelements of <channel> within your RSS Feed.
Using appropriate <title>, <description> and <image> subelements
of channel can help to preserve your own branding on content.
- Restrict the size of the logo associated with your channel to images to
less than 90 pixels along the longest side.
- Do not include HTML markup in your RSS Feed - i.e. Avoid using tags such
as <b> <p> <a href> etc as it is not possible to know how
the feed will be presented and including markup can prevent your feed from
being correctly displayed.
- Filename extensions with RSS can be anything you like. Most people use a
filename with an .xml, .rss, or .rdf extension. The important thing is that
your web server is configured to serve RSS files using a mime type of text/xml.
9. Promoting, Discovering RSS Feeds
|
|
So you've been convinced of the benefits of RSS and have produced a range of
feeds to help you expose your content to a wider audience. How then do you promote
these feeds and let potential users know that they are available? The most effective
measure is to register your feed with the main RSS directories, aggregators
and search engines. These include;
Other means to promote your feed include;
- Providing a <link> tag in the <head> section of your web pages
[Each feed should have its own link tag with a unique title] e.g.
<link rel="alternate" type="application/rss+xml"
title="rssfeed1" href="http://yourwebsite.co.uk/feed.rss">
- Tell visitors to your website that you produce RSS e.g. http://www.eevl.ac.uk/workingwith.htm#sect3
- Add 'syndicate this content' links from web pages with content that can
be syndicated. The RSS or XML graphics described in section 3 can be used
for this purpose.
- Contact interested third parties directly to inform them that your feed(s)
are available.
Integrating third party feeds on your own website is outwith the main focus
of this document. However brief pointers are included for the sake of completeness.
Since RSS files are XML and not HTML they cannot be added to a web page without
processing (or parsing). RSS files can be parsed via a program installed on
your own webserver or alternatively the parsing can be done elsewhere by pointing
to a parser installed on another server. Parsers are available for a wide variety
of programming languages and an extensive list is maintained by the RSS
Workshop. Perhaps the simplest way to include an external feed on a website
is to use javascript to point to an external RSS parser. For example inserting
the code below on a web page will result in the specified channel, in this case
EEVLs Latest News, being displayed.
<script src="http://www.rdn.ac.uk/rss/viewer/
?rss=http://www.eevl.ac.uk/rss/latest-news.rss">
</script>
The mechanics of this are as follows;
- The parser at www.rdn.ac.uk retrieves the EEVL latest-news.rss feed.
- The feed is parsed on the RDN webserver and HTML created from the XML.
- The HTML is passed back to the browser and the feed content is included
on the webpage.
Links to some useful RSS resources on the web including RSS specifications,
tutorials, tools and validators are provided in section 7.
[1] RSS Tutorial for Content Publishers and Webmasters by
Mark Nottingham
URL: http://www.mnot.net/rss/tutorial/
[2] Explanation of RSS, how you can use it, and finding
RSS feeds
URL: http://www.faganfinder.com/search/rss.shtml
[3] BBC News site offers syndication feeds
URL: http://holovaty.com/blog/archive/2002/09/03/1206
[4] Miller, P. (2003). Syndicated content: more than just
some file formats?, Ariadne Issue 35
URL: http://www.ariadne.ac.uk/issue35/miller/