Figuring out RSS

6 March 2004
Sarah Lohnes has an article in the current NITLE News on RSS, which has a sidebar with lots of useful on-rampy stuff.
So what do we NEED to set up RSS? Is it something I can test via Cassini? Or does it require that W&L's Webmaster be involved? I have the familiar problem of not knowing enough, of missing a few of the essential pieces of understanding...
Here are some of the bits I've found via various searches:

Weblog 2.0 from Mother of Perl

"RSS is the most widely used XML format on the Web today...

Some essentials from http://webreference.com/perl/tutorial/8/ (not very recent, I think...)

For rss2html.pl to work on your system, you should have a recent version of Perl installed, 5.003 or better. 5.005 is recommended. You will also need the XML::Parser and XML::RSS modules installed.

To install the modules on a *nix system, type:
perl -MCPAN -e "install XML::Parser"
perl -MCPAN -e "install XML::RSS"

If you're using a win32 machine (Win95/98/NT), you have a recent installation of Activestate Perl. If you don't have a recent version, visit http://www.activestate.com.

To install XML::Parser on a win32 machine type:
ppm install XML-Parser

To install XML::RSS on a win32 machine (you must have a C compiler and nmake):

Next, we'll examine the RSS format in more detail...

RSS Tools and Validators

Utah tutorial/workshop on RSS

syndic8.com ("the place to come to find RSS and Atom news feeds on a wide variety of topics")

From freshmeat.net:

Cheesegrater is a simple framework for screen- scraping HTML Web pages into RSS/XML, to provide syndication for sites that do not provide their own RSS feeds. Portalizer is a companion script that creates and updates a simple HTML "portal" page from a set of RSS files.

RSS Builder is a set of PHP classes for generating a 0.91, 1.0, or 2.0 (draft) RSS feed, including Dublin Core and Syndication Modules.

RSS Writer Class is a class that can generate RSS (Rich/RDF Site Summary) XML documents that are commonly used to describe the content of a site channel. It extends the XML Writer class to generate human readable XML-RSS documents. It features simplified definitions of channel and item properties, support for defining optional channel graphic images and search form text inputs, support for RSS specification versions 0.9, 0.91, and 1.0, support for use of RSS 1.0 namespace modules to extend the document property set, and an optional XSL stylesheet example to automatically render RSS 0.9 and 1.0 as HTML pages in XML capable browsers.

Hyperfeeder is an extensively customizable RSS/RDF news feed aggregator with output in HTML. It has several advantages over heavyweight UIs. Images (cartoon strips, image of the day, etc.) can be viewed inline. The output is portable; all one needs is a Web browser. The output tags can be changed to suit each individual's requirements. RSS fields like "textInput" result in elegant forms.

instantRSS takes an appropriately-"tagged" Web page and spits out an RSS feed. The tags are simple and easy-to-use HTML comments. instantRSS may be used locally or remotely, alleviating the need for users to have PHP on their servers (or even having to know PHP).

xpath2rss is an XPath to RSS scraper. XPath makes a better HTML scraper than regex (the typical solution) because it understands the structure of the document, rather than just treating it as a big string. As a result, xpath2rss is a more reliable scraper, and much easier to use, once you get the hang of XPath.

FeedCreator (formerly RSSCreator) is a PHP class that provides an easy way to create various mostly XML-based feeds from within PHP. It is compact, easy to use, and well documented. RSS 0.91, 1.0, and 2.0, ATOM 0.3, OPML 1.0, and Unix mbox are supported.

Simple Python Blogger is a small Python script to handle entries, users, sessions, and comments of a blog. the files are very simple to edit, change, and set up. Entries are stored in XML. The script also generates an RSS feed of the recent subjects and their authors.

WordPress is a state-of-the-art semantic personal publishing platform with a focus on aesthetics, web standards, and usability. (see sourceforge.net page)

OpenJournal is a completely Web-based interface ...allows you to keep an online journal and configure it largely anyway you'd like it to look... (grabbed... c:/openjournal... and created /cgi-bin/ at oook.info and otherwise followed the instructions in c:\openjournal\oj.cfg.txt ...but it doesn't run, and I'm not sure of the correct URL... I suspect that the problem is in

# Path to your Web site's main HTML directory (where the oj subdirectory is;
# no trailing slash). This is also known to some people as their FTP directory.
$mydir = "";
--I tried "/" (because the main HTML directory is root...) and then "", but I think I'm not getting something...One bit of advice from the HELP:
To add a new entry, go to http://www.yourserver.com/cgi-bin/oj.cgi (or equivalent). Log in and do your thing. [this gives 500 error]
To view your open journal, go to http://www.yourserver.com/oj/ (or equivalent)
--the latter gives me a 403 DON'T do it again! Forbidden! message, suggesting that I've really misunderstood...
following http://faq.1and1.com/advanced_functions_php_mysql_perl_ssh_/cgi_options/1.html, I changed the permissions on the perl script:
Please note: Perl scripts can only be executed if .pl is the file extension and the first line of the script starts with #! /usr/bin/perl.
Perl scripts must be transferred in ASCII mode and the file permissions must be set as follows:
Owner: Read, Write, Execute
Group: -
Other: Read, Execute
(chmod 705)
...but same 403
changed mydir = "$ENV{'DOCUMENT_ROOT'}";
(in accord with
Document Root (the absolute path to your web): $ENV{'DOCUMENT_ROOT'} (Perl) or $DOCUMENT_ROOT (PHP)
...but still the same errors (500 for /cgi-bin/oj.cgi, and 403 for /oj))

What about Movable Type? requirements ... 1and1 seems to meet most of the criteria, but what about "Perl, version 5.004_04 or greater, configured for your web server"?

If you already have a web hosting provider, we offer an installation of the Movable Type application for non-profit or personal websites for $40. ... The first step to installing Movable Type is to determine if your web hosting provider meets the installation requirements. If you already know that your web server meets the necessary requirements, then sign up for installation below.
(they also offer TypePad as a way to set up a blog... see wizbangblog for what looks like an interesting possibility.

Reading Hammersley's Content Syndication with RSS:

set up your server to deliver the correct MIME type with the file... For Apache, this is done by adding the following line to the httpd.conf file: AddType application/rss+xml .rdf .xml

I've tried to install blosxom too, and had the same error messages

I chanced upon a nice set of instructions for installing Moveable Type at 1and1 ...and they WORKED!! (the MT user Manual may be handy...). I learned at least some of the reasons for my previous failures, noted above, and seem to be on the way to an effective implementation of a blog.

7 March
I'm not a lot closer to a sense of how to facilitate blogging at W&L, but at least my own productivity with the medium has a chance now.

22 March
Optimizing your Movable Type Installation (part 4) - XML syndication

The Who, What, Where, When and How of RSS