Installing PloneRSS

Notes for the less persistent.

One of Plone's marked faults has been the lack of an out-of-the-box RSS aggregation product. Although there have been a number of attempts (CMFSin, CMFNewsFeed, CMFFeed), these are unfinished, quirky or only semi-functional. Fortunately, PloneRSS is a robust solution for gathering and publishing newsfeeds on your site. Unfortunately, installation is not straightforward. These are some notes I gathered from the last time I added PloneRSS to a site, to serve as an addenda to the official instructions.

Step 1: Obtain PloneRSS

Unfortunately there are a number of stale links to this Product. The previous location (together with some documentation) was at http://encryptec.net/software/plonerss/ but is no longer accessible. The current link is at http://plone.org/products/plonerss. There are pointers back to documentation at the original site that no longer work. This appears to be the limits of the current documentation, although it points at an inaccessible project page. The product comes as a bzipped archive. Strangely, several unarchiving programs (on both Windows and Unix) failed to unpack the software correctly. This probably a software or bzip fault, but keep trying until you get a folder containing the PloneRSS product. Drop it into your sites 'Products' directory. The latest version (0.9.3) does not seem to be compatible with Plone 2.5, while the older 0.1build123 is.

Step 2: Obtain ZMySQLDA

Again, there are several rusty links and sites to this around the web. The best appears to be at SourceForge. Don't worry that the adaptor was last updated in 2001, it's quite functional. Download it and unpack it. It comes as a hierachy of folders designed to unpack onto your Zope installation (i.e. '/lib/python/Products/ZMySQLDA'). Find your Zope installation (the binaries, not the site) and copy ZMySQLDA into the 'Products' folder in the Zope python library.

Restart your site to pick up the new software.

Step 3: Create the database

Although PloneRSS comes with a SQL file that will create the database for you if fed to MySQL, I've never managed to get this to work. (Note that the file also has a different name to that in the instructions.) It's simplest to open the folder and copy the SQL statements straight to MySQL. You should end up with a database called 'plonerss' containg a table 'feeds'.

Unmentioned in the PloneRSS instructons (perhaps because it's obvious), you have to create a user with the appropriate privileges on the new database:

GRANT ALL ON plonerss.* TO plonerss_usr@localhost
   IDENTIFIED BY 'pr_pass';

Step 4: Create and test the database connection

Go into the ZMI of your site and in the 'custom' skins folder, create a a ZMySQL Database Adaptor. Follow the instructions for giving a configuration string but database user password (e.g. plonerss plonerss_user pr_pass) should do. I had some difficulty getting it to pick up my installation (probably a local error) and had to add the socket location to get it to work:

plonerss plonerss_user plonerss_password /tmp/mysql.sock

Note that is must be named as per the instructions (PloneRSS_SQL_connection). Test the connection out from the ZMI, say with the string SHOW DATABASES;. Install PloneRSS from the "Install products" control panle of Plone.

Step 5: Add the portlet

In the ZMI, go to the properties of your site and add the PloneRSS portlet to the right or left panel. If you have not installed PloneRSS, you'll get a site error when next you visit the front page. The portlet won't display until it has feeds available.

Step 6: Add feeds

PloneRSS adds three objects, and it can be unclear as to what they do. The RSS Manager is essentially a control panel for your feeds, that displays the health and status of your feeds. It may be content, but you only need one per site and it serves as "virtual folder" where rss items are displayed. Make one. RSS Feeds are the basic content that represents (yes) a feed. Create a bunch of those. They won't start displaying until they have been published. RSS Instance is basically an aggregator, that gathers a group of selected feeds.

Assorted issues

After adding a certain feed, my RSS Manager refused to display due to a character encoding problem. (Something in the new feeds url or conetxet.) However it appears that the rest of the PloneRSS infrastructure works without any problems, so this wasn't regarded as a problem.

Notes

Updated early 2008 with new information and links.

PloneRSS is largely superseded in Plone 3.x.