Blog posts tagged "cvs"

Status Update: XML::RSS, Magpie, cvs2rss, wp-agg, etc

May 28th, 2005

Dan from GeekUprising is now the official maintainer of XML::RSS. I imagine his first major change will be to incorporate the patch he sent me last Fall splitting the RSS creation logic from the RSS parsing logic (while still being transparent to people who don’t want that kind of thing). Congratulations, and welcome.

cvs2rss has been missing since the last server move, but well placed nudge from Phil got me to dig up the archives today, so voila, as they.

My aggregator for WordPress, affectionately known as wp-agg is officially superseded by FeedWordPress. Charles has done a great job growing the idea to something useful to someone other then me, and polished it off by actively maintaining it. Nice work. I’ll be switching the Magpie blog as soon as I get a chance.

Sourceforge stats after a 6 month hiatus (or was it 18 months? now I’m forgetting), are finally back, now with largely useless graphs. I had a hunch that usage had continued to grow and it has, with 5,000 page views a day, and 6,000 downloads a month. Wow. Really need to revive the website to handle the enlarged community. Need a good domain name first.

You know, now that I’m a contractor again, if someone wanted to hire me for 20-25 hours of work I’ve got a list of features that I’d love to have time to roll out as MagpieRSS version 0.8.

Tagged: Uncategorized , , , , , ,

Subversion, blargh

August 9th, 2004

Having spent the morning playing with Subversion, I’m going to take the name at face value and assume it’s really a very subtle plot to kill open source productivity, and will hence forth be referring to it as “cointelpro” instead.

update: I confess I was wrong, anything you say, now please just put away the hot irons. Having been told by all my nearest and dearest exactly how wrong I am, I confess, there were really 4 fingers, my memories to the contrary were faulty. I’ll swear off tech blogging (burying it certain fathoms beneath the earth no less), and go back to posting pictures of fluffy kittens, and unsubstaniated Oregonian rumors.

Tagged: Uncategorized , ,

WordPress RSS Aggregator

July 18th, 2004

I’ve been playing with the idea of a devblog for a while, a place which collates the various feeds associated with a project into a simple location for easy viewing, and commenting it. Fisheye, and CIA are full blown attempts at solving this very problem for large open source projects. This morning, unable to get back to sleep, seemed simpler and faster to write something new, then finish reading the install instructions.

I present my quick and dirty RSS-to-Wordpress aggregator. There are a number of tools that allow you to display an RSS feed on your WordPress blog, and several that allow you to import an RSS into your blog, but I didn’t find any that worked as aggregators, periodically polling a feed, and creating new posts from the items found within. So that is what I built.

Some features:

  • dc:date becomes the postdate, dc:creator (or dc:contributor) becomes the postauthor, title maps to title, description to post_content, dc:subject to category.
  • a postmeta variable is used to track which RSS items have been seen before, and only insert them once.
  • you can assign 1 or more categories to be automatically attached to each post per feed. (e.g. a ‘CVS Commits’ category)
  • new authors, and new categories are auto-vivified if they don’t exist.


  • I wrote this to parse our internal cvs2rss feeds, and our Twiki feed. Those both produce RSS 1.0 feeds that conform to my particular RSS aesthetics. As such the script doesn’t try to hard to support other versions of RSS.
  • Links are treated as perma-links, and unique identifiers.
  • Ignores content:encoded
  • Only handles inserts, not updates
  • I wrote this with nightly build 2004-7-14, your milage may vary.

None of these would be hard to fix, but this was good enough for my needs this morning, in the short period of time I wanted to spend on it.


Some other features that would be nice to:
  • Store config in the database and add WP UI for managing aggregated feeds (should be doable with option groups?)
  • Support adding categories by name instead of id. (and auto-vivify categories)
Uses Magpie (surprise!), so you get to leverage support for fetching private RSS feeds. (which I’d recommend for serving up internal RSS feeds) Expanding on the devlog theme, you might want to include the RSS from your project management tool, and bug tracker. (we aren’t currently using RSS enable tools for this, but if, for example, you were using TasksProp or Basecamp, those would be good feed to include.)

A Few Observations on WordPress

  • Doesn’t support PHP5 yet. I’m not sure how pervasive the problem is, but it uses a modified version of ezSQL for its DB abstraction layer, which isn’t PHP5 compatible. Too bad they aren’t building on top of PEAR DB.
  • Excellent for whipping up an attractive, feature rich blog.
  • Faster then expected, really zippy in fact, at least without load.
  • Code is kind of a mess (or at least old school PHP). Very little OO, SQL, and HTML is scattered around, core use of global variables.
  • I’m not a fan of the “PHP is already a template argument”, but I understand why some people are.
  • Doesn’t feel as polished as MT, but is certainly more hackable. Reminds me of the Kwiki “every installation is a snowflake” goal. Interesting to see if this creates a surge of creativity, or just balkanization.
  • Option groups, and the postmeta table make it incredibly simple to add new features.
  • PHP5+SQLite support, and a one-click install could make WP the Kwiki of blogging tools.

update [2004/10/28]: In Boston, but on Seattle time, fill in some extra details. This quick hack is growing faqs, and might need to sprout a page of its own pretty soon. In the mean time there is a new version which uses a simple config file, and has expanded support.


  1. How do I print the link of the original RSS item?
    <?php echo getpostmeta($id, 'wpaggrss_id', true) ?>
  2. Dates aren’t working, all my posts are from 1969. Currently wp-rss-agg only supports dates in dc:date field, however there is a feature in magpie-cvs that should make it simple to provide Atom and RSS 2.0 date compatibility as well.

update: FeedWordPress is an actively developed and maintained version of this script. Charles has taken it beyond my simple proof of concept, and it is almost certainly what you’re looking for.

Tagged: Uncategorized , , , , , , ,

cvs2rss 0.2

February 26th, 2003

I released cvs2rss v0.2 (the “Fading Dawn” release) yesterday. Its only a minor tweak of cvs2rss 0.1 which has been happily working for me for a month now. (and needed surprisingly little fixing given that it came into this world under a cloud) Ben announced it, but I figured I should probably put something on my own site about it :)

Some future directions

  • Handle interactive CVS prompt better
  • Make the project self hosting
  • Make the config file more powerful
  • Incorporate all the lovely user feedback I get (hint)

Some example feeds I currently track.


January 25th, 2003

When I consulted the omens this morning they said don’t get out bed. So I wrote instead. I think its pretty cool, but then I’m not really trust worthy at the moment as I started halluncinating about an hour ago from lack of food and coffee.(thats the real problem with leaving college, no longer having a mini fridge you can reach from bed)

CVS -> RSS is a Perl script (and a couple of modules) that can mine an RSS feed out of a local cvs checkout. (though mostly it asks to do the heavy lifting)

Its kind of a hack, but its a cool hack, and I put sometime into thinking about what should values should be in fields like ‘title’ and ‘link’, and it works pretty well.

CVS & the Web

Currently depends on you to have a copy of ViewCVS(aka, the CVS browser on Sourceforge) running somewhere public for it to link to, but is designed to be extended for use with other web repository browsers.

An example CVS RSS feed for XML::RSS.

On a side note

Hmmm, starting to feel like the all-RSS, all-the-time channel around here (count ’em, 6 RSS entries in 5 days). I wonder if its too late to run away to Brazil?

Tagged: Uncategorized , ,