Building a News Aggregating Site Using Drupal 6

by Rahul Pitre | August 2009 | Drupal

The example project in this article by Timi Ogunjobi is based on a fictitious web site development brief, and it illustrates a practical way of applying Drupal to develop a News Aggregation site called Weird Hap'nins. Bad news is always good news for the press. This is why Vaughan Pyre has decided to take advantage of this fact and create a web site that will aggregate bad news and weird happenings from all over the world. The content of the site will be entirely derived from Really Simple Syndication (RSS) feeds from several sources (each feed being automatically fetched and its items displayed on the web site).

Weird Hap'nins requirements will be the need to:

  • Get external feed sources and allocate them to menu links on the web site
  • Create the means to automatically fetch and display article items located in the feeds
  • Display blocks of latest content from each feed source on the front page

Theme

The theme chosen is "Strange Little Town", which is a contributed theme that fits the description of this unique web site.

Drupal 6 Site Blueprints

Build Weird Hap'nins

Vaughan Pyre is a very ambitious webpreneur. What he really hopes for is a web site that is completely self-maintaining, and on which he can place some Google AdSense blocks. Clicks from the visitors to his site will ensure that he makes lots of money. For this, he needs a site where the content updates regularly with fresh content so that visitors will keep coming back to click on some more Google ads. Vaughan's ultimate objective is to create several of these web sites.

Modules

This is, surprisingly, a very simple site to build, and much of the requirements can be achieved by using the Core Aggregator module. Indeed, were it not for the fact that Vaughan needs the content to automatically update, we needn't use any module other than the Aggregator module.

Optional Core modules

We will be using the following Core modules, which can be enabled via the Modules page:

  • Aggregator—for aggregating syndicated content (RSS, RDF, and Atom feeds)

Contributed modules

We will also be using the following contributed modules from Drupal.org. Install, and enable them via the Modules page:

  • Poormanscron—internal scheduler for users without a cron application

Configure the Poormanscron module

First we need to enable the Poormanscron module, so that the incoming feeds will be able to self-refresh. From the Administer page, we will access the Poormanscron configuration page, mainly to set the time interval between runs of cron to update feed items, as shown in the following screenshot:

Drupal 6 Site Blueprints

In this case, we have left the Time intervals at the default value of 60 minutes.

Configure the Aggregator module

The Aggregator module should be configured to define the feed sources, how often they will be polled, and how they're categorized. For this, if we select the Feed aggregator link on the Administer page, then we should arrive at the following page:

Drupal 6 Site Blueprints

On the Settings page, we will define some more requirements, as follows:

  1. Allowed HTML tags—which are the tags that are embedded in the incoming feed that we want Drupal to accept. The allowed tags do not include image tags. So if any images are coming with the feed, then they will be excluded. However, we don't want this to happen, so we have added the image tag <img> to the list.
  2. Items shown in sources and categories pages—we have defined this to be 20 items, but you may select another figure.
  3. Discard items older than—we want the feed items to be completely refreshed every week so we have set this at 1 week.
  4. Category selection type—we are not categorizing the feeds, so we will leave this setting as it is.

Drupal 6 Site Blueprints

Basic content

The site is built around the Aggregator module, and no other Content type will need to be created. Vaughan has decided to initially use three feeds obtained from www.newsfeedmaker.com, as follows:

It is from these feeds that we will create the necessary content.

Tips and traps
An excellent source for "mashup" feeds on any topic is pipes.yahoo.com.

Add feeds

On the Add feeds page, which is under the Feed aggregator configuration page, we finally get to define our feeds, and how often we want them to be polled.

Drupal 6 Site Blueprints

We want our Bad News feed to be polled every hour, so we have configured it this way. The same procedure is followed to create the feeds for Crime and Paranormal.

Sign up for a Packt account to see the rest of this article

Now that you've read a few articles, you might want to consider signing up for a Packt account. It takes a matter of seconds, will give you access to all the articles on PacktPub.com, and once you've signed up you'll be returned here to carry on reading your article.

Furthermore, you'll gain access to nine free ebooks, and be offered a free trial of PacktLib, Packt's online library. Simply enter your details here, or log in to your existing account.

Log in

...or register

Search? by
If you set this up like this, is it still possible to include a search functionality[since a content type isn't created and this is the way drupal searches--by content type--by default]? Sorry, I'm a newbie at drupal.
Great tutorial by
This is awesome. But considering the web links are opened within the same window, how can one change it so that the link is either opened in a new tab or new window?

Post new comment

Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Sort A-Z