Build a Powerful & Flexible Lifestream Using Drupal
|This is a guest post from reader Stephanie Pakrul. You can visit her at both stephthegeek.com and stephthegeek.tv|
If you are interested in having a post of yours here just head on over to my contact page
I’m not shy to talk about how much I love the popular content management system and web application framework, Drupal. What’s more interesting to me lately, however, is how well suited it is to creating a custom lifestream site. Third party services with shiny widgets and badges are nice, but I wanted to be the one holding onto my own data and being able to do whatever I wanted with it.
At the core of lifestreaming apps is the functionality to read and redisplay RSS feeds from various online services. Drupal core comes with the ability to read external RSS feeds, except it is only intended for display of current feed content, since it does not actually save the RSS content on-site. However, if you add a couple of contributed modules, you get an amazingly robust and flexible RSS parser that then has the power of Drupal behind it in order to manipulate and display the content.
The basic steps are as follows:
1. Install Drupal on your web server
2. Install and enable the following contributed modules:
- Leech or FeedAPI (I use Leech, but it will not be ported forward to the next version of Drupal in favour of FeedAPI)
Following the instructions for either Leech or FeedAPI, configure your feeds to have the content pulled to your Drupal website. At this point, you’ll probably end up with a dump of content on your site without a heck of a lot of organization to it. This is where Views comes in. If you’ve ever used Drupal before, you probably discovered pretty quickly that Views is a must-have for almost any site. Think of it like a query builder that allows you to expose and filter your content any which way.
Using this module, you can set up views pages to, say, display a table of the latest songs you listened to from your Last.fm profile, or a timeline of your Twitters. With a bit more Drupal and CSS knowledge, you can do all sorts of fancy styling of your streams, create tag clouds, or your own personal uberprofile. You can also sort, search, and filter on your data. There are even dedicated Drupal modules for things like Flickr galleries, del.icio.us bookmarking, and geotagging.
You can see a very basic implementation of a custom lifestream application using Drupal here on my site here.
|Note from Mark: I too am an avid user of Drupal and find it to be an awesome content management system. Views along with CCK create a powerful combination to allow you some amazing power to design the backend of a site. You can see some of this in action in a great video tutorial I found here|