Replace Google Reader with Drupal

While there is still much wailing and gnashing of teeth over the closing of Google Reader (in my house anyway ;), The basic functionality of ANY RSS reader is pretty straightforward: it should enable you to subscribe to RSS feeds, categorize them in a useful way, and browse the results. While GR has a ton of other nifty features that we won’t touch on here, you can get these basic RSS reader features on your own site in 10 minutes or less. This assumes you have a site with Drupal 7 installed (you can do it in D6 as well). If you want an easy and free way to get a Drupal 7 site, check out Drupal Gardens.

Export your Google Reader Feeds

This is pretty straightforward, and really handy. We will use the exported feeds to easily transfer our subscribed RSS feeds all in one go:

  1. Log into GR
  2. Go into the Settings -> Import/Export, then click on the link to “Download your information”
  3. Click on the “Create Archive” button. This will create a .zip archive containing 8 files
  4. Once its generated, click on the “Download” button to grab it.
  5. Unzip the downloaded file and set the subscriptions.xml file aside for later import.

NOTE: you can also go straight to the 3rd step here: https://www.google.com/takeout/#custom:reader

Setup the “Aggregator” module on your Drupal 7 site

This is pretty straightforward - we will use the aggregator module in core to import and organize your RSS feeds. More advanced users may also be interested in setting up the Feeds module to do this. That will actually allow you to create nodes for each item, which is probably way overkill for most people… but its a valid option.

On your Drupal 7 site, go to the modules (/admin/modules) and turn on the core “Aggregator” module. Then you can go into Admin -> Configure -> Web services -> Feeds aggregator (/admin/config/services/aggregator) to configure it, set up your categories, and import your feeds! I won’t go over the settings here, they are pretty self-explanatory and will work out of the box regardless. One of the nice features is that this will automatically clean out old items and allow you to set how much to display in the settings. You can create your own views too, but these settings are handy.

A few notes about categories:

  • If you have alot of feeds, then you will probably want to set up at least a few categories to organize things
  • You can categorize not only the feeds themselves, but also the individual items in each feed
  • Feed items are assigned to the categories when they are imported (at the cron run), so if you categorize a feed after import, don’t expect your feed items to have that category

Import your feeds

From the main config page, click on the “Import OPML” button, and then upload the subscriptions.xml file from Google. This will import all of your feeds from Google Reader! You may still want to edit each feed and customize its categories, but you are pretty much done. Once you are finished organizing your feeds, just run cron to process and import them (/admin/reports/status/run-cron). You should now be able to visit “/aggregator” to view your feed items. There are also links created to view each category as well as each feed source, so you can browse them in many ways.

At this point you can either get to reading, or get to customizing… but you are done!

Suggestions

Admittedly, your setup will have limited use right now… but with a few changes, you can make it much more powerful:

  • Add a few menu items for your main feed or categories. This can be on your main menu, or as its own menu. If you create a new “Feeds” menu with your categories and/or sources, then it will be available as a block too.
  • Blocks, blocks, blocks : the system will create a block to show the latest for each feed and category. Go nuts
    protip: add a category for different sections of your site or blog, and then use path or content settings to only display those blocks. For example, show the most recent tech news on your tech blog, show your user/member/employee’s personal blogs on their profile pages, or show the latest political news on your political blog posts. Get creative!
  • Create path alias’s for your feeds or categories. See the 2nd example in the demo section below for an example
  • Use views to create your own displays. Show a table, a grid, a list, etc… and use exposed filters to allow sorting of the list by category. You could also use views to make a feed of your feeds! Super handy
  • Make your own module or theme template overrides to modify the display (like to add a like/share button for your convenience)

Demo

I set this up for my wife’s site, and you can see examples here:

The permissions were set to allow anonymous users to view these feed items, but you can also keep it private or password protected on your setup.

For a really basic core module, you can certainly do ALOT of great stuff. I think we will start to see more people creating and sharing their own feed setups. If you set your feeds up publicly, leave a comment and let us know where!