aggregation
Creating Activity Streams
Have you ever wanted to gather content you publish on different websites and pull it in to your Drupal powered website? This could be content that is published by one person or by many people. This content could include blog posts, pictures, audio or video. The content could come from sites like Flickr, YouTube, Delicious, personal blogs or any site that offers an RSS feed for published content. If you've thought of doing this then you'll be happy to know that you can accomplish such a task by using Drupal.
The final result of gathering content from other sites is called an activity stream. An activity stream is merely a list of content items that have been posted to the web, typically in reverse chronological order. Activity streams created by a single person are also called lifestreams. If you're a member of different websites that allow you to publish or bookmark content, you might want to create an activity stream to make it easier for people to keep track of what you are doing. The stream allows you to have all of your recent web activity summarized on one page with links to all of the original items. You can also use activity streams to create an online content network that gathers feeds from a variety of different sources related to the same topic.
Activity Stream Module
The activity stream module simplifies the process of creating an activity stream. This module can pull data from Del.icio.us, Digg, Flickr, Last.fm, Twitter, and any other site that provides a feed. The streams are published based on settings in each user's profile. So you'll need to have the core profile module enabled in order for activity stream to work properly.
Individual users on your site have a stream at 'http://example.com/stream/{your-user-id}'. The entire site also has a stream at the address 'http://example.com/stream'. Activity streams are updated each time cron is run. Content items that are captured by this module are also added to your site as nodes, which means that they can be found using the core Drupal search function. It also means that the captured content items can have comments and be manipulated using the views module. Access to the nodes via views also means that you can create a single RSS feed for all of your published content. The activity stream module also generates a block that lists recent activity.
Activity stream displays the favicons from each website next to content items. The favicon is a good visual cue for that provides the reader with an idea of the source or type of content being published. At this time activity stream has an official release for Drupal 5 and a dev release for Drupal 6. See all activity stream releases here.
The images at left show the user settings, an example of a block and an example of a page generated by this module.
FriendFeed Module
The FriendFeed module allows you to present an activity stream that is powered by the FriendFeed service. This is accomplished via a connection to the FriendFeed API. Like the activity stream module, FriendFeed uses cron to schedule updates to your stream. Unlike activity stream, the items displayed are merely linked and not captured to your site as nodes. This approach offers less flexibility (not searchable, can't create views or feeds) in managing the content items, but it also takes much of the burden off of your server.
The FriendFeed module does not provide a page view at this time. The resulting stream can be integrated into a page by either dropping the block into a content region or adding a snippet of code provided by the module developer to a new page. The picture at left shows an example of what the FriendFeed block looks like.
The FriendFeed module is still in the development phase, with releases available for both Drupal 5 and Drupal 6.
Other Options
Activity Stream and FriendFeed are relatively new modules. There are a number of contributed modules that have been around for a while that might be worth checking out if the two mentioned here leave something to be desired in your implementation. I've listed some of those options in an earlier post titled, Options For Importing Content.
- learnbythedrop's blog
- 1 comment
- 2010 reads
Delicious
Digg
StumbleUpon
Options For Importing Content
The ability to import content (also know as aggregation) from other sites is one of the great features of the Drupal platform. So while you can create content directly on your Drupal site you can also import and display content from other sites that contain RSS feeds or APIs (Application Programming Interfaces) that allow you to access their content.
Why Aggregate?
You might want to give the visitors to your site a bit of variety. If your site is about sports you may want to pull a feed containing sports news from Yahoo! Sports. You may be interested in creating your own network of blogs or podcasts. In that case you would pull updates from all of the sites in your network into your Drupal install. Or perhaps you're a prolific web publisher and want to create a lifestream to help people keep track of everything you publish. You can do all of these things using the Drupal platform.
Your Options
Drupal has lots of options for aggregating content. That's a good thing because it means people of different skill levels can get more of what they want. In general there are two types of aggregation modules for Drupal. One type captures content as nodes on your site. This means the content is searchable and will have a unique link. Another type displays a stream of content without importing as a full node. This type is not searchable and will link back to the originating site.
- learnbythedrop's blog
- Read more
- 1865 reads
Delicious
Digg
StumbleUpon

