I'm setting up some rss feeds, and I've just used the Site Summary product from here: http://www.zope.org/Members/edmundd/SiteSummary With Site Summary you can use the importRSS method to pull in a channel. I use a modified version of this script running on a cron job to update the rss channels: http://www.zope.org/Members/phd/cron-zope/pack-db_fs The script looks like this (it's still kind of hack-ish, but it works :). My only problem now is to figure out how to have member preferences handle a list of rss channels with the PTK. #!/usr/bin/python username="kteague" password="******" zope="http://www.evileggs.org/" import sys, urllib, re class NoGUIURLopener(urllib.FancyURLopener): def __init__(self, username, password, *args): apply(urllib.FancyURLopener.__init__, (self,) + args) self.username = username self.password = password self.asked = 0 def prompt_user_passwd(self, host, realm): if self.asked: raise "Unauthorized" else: self.asked = 1 return self.username, self.password channel_id = "" rss_url = "" try: f = open("channellist.txt") except: print 'Could not open the channellist.txt file.' lines = f.readlines() f.close() for line in lines: if re.search('^\n$', line): continue m = re.search('(.*?)\s+(.*)', line) try: (channel_id, rss_url) = m.groups() except: print 'Can not properly parse line:\n%s' % (line) continue urllib._urlopener = NoGUIURLopener(username, password) urllib.urlretrieve("%s/rss/%s/importRSS?url=%s" % (zope, channel_id, rss_url)) ================== And the 'channellist.txt' text file just has the Zope id's of the Site Summary objects and the rss channel URLs, like so: Advogato http://www.advogato.com/rss/articles.xml Linux.com http://www.linux.com/mrn/front_page.rss -- Kevin Teague, Zopista http://www.stormix.com