The other day, AJ Batac posted on Friendfeed about Pubwich, an “open-source online data aggregation PHP application.” I was intrigued, so I decided to check it out. The application is still very young, with a lot of work to be done, but it’s a great idea.
Initially, I was hoping that Pubwich would actually aggregate data from multiple sources into a single interface (the way Friendfeed does), but I soon learned that it actually just allows you to place information from multiple sources on a single page. Still, though, I think it’s a great idea and shows a lot of promise. In my case, at work, we have five Facebook fan pages, a Twitter account, a Flickr account, a YouTube account and at least two major RSS feeds. Rather than simply providing our users with links to each of those accounts, Pubwich provides me with an easy way to show our newest information to our visitors in one place.
Once I started working on implementing Pubwich, though, I found that I needed to customize it quite a bit in order to get it to work for me. For instance, the Facebook “service” included with Pubwich is intended to be used specifically for personal profiles rather than Facebook Fan Pages. I took the concept behind the Facebook service and created a new service specifically intended for use with Fan Pages. The new Facebook service I wrote uses the RSS feed from the fan page, which only requires you to know your page’s ID. Since it’s hard to find documentation for fan page feeds, I’ll let you know that you can access your page’s feed at
http://www.facebook.com/feeds/page.php?id=[userid]&format=rss20 (where [userid] should be replaced with the ID of your page).
Next, I found that the Flickr service wasn’t set up quite the way I would have expected. The Flickr service included with Pubwich uses the Flickr REST API (requiring you to provide an API key, which, I believe, requires you to register a Flickr app), rather than simply using a public RSS or Atom feed to display recent information. I wrote a new Flickr service that utilizes the public “recent activity” feed for a Flickr user’s photostream.
Finally, one of our RSS feeds is from our calendar of events, so using the “published date” from the RSS feed as the main date to be displayed didn’t make much sense. After doing some research into the RSS Event module, I decided to update our event calendar’s RSS feed to utilize that module, and then wrote a new Pubwich service specifically for use with a feed utilizing that RSS module.
Once I got all of these new services created and tested, we unveiled the new page. There’s still a bit of work to do to clean it up, but it worked out pretty nicely. If you’re looking for a way to aggregate all of your feeds and social network information into one page, Pubwich is definitely a great place to start. However, you will need a working knowledge of PHP and you will need to dig into the source code to understand what’s going on (the documentation is still extremely lacking).
I’ve uploaded a package containing the three new services I created. I’ve tried to document them as well as possible. Download them and check them out if you’re looking to implement any of the three items I mentioned above.