Blog Hero Image

Drupal with Social Networks

Oct 20, 2010
Eric Aguayo

The increasing activity on social micro-blogging networks such as Twitter and Facebook has caused many companies to include Twitter and Facebook applications within their websites. When viewing a blog post, for example, users expect to have a “Follow me on Twitter” link near the blog post author name and a “Post to Twitter” or “Post to Facebook” button somewhere near the article content. While digging into Drupal projects I have found several contributed modules that can be used to provide Drupal integration with Social Networks and vice-versa. Here is a list of modules which I consider the most relevant:

  • Follow: A very convenient module that will save you some time if you want to allow your site users to configure their own “Follow me” links to their profile pages. It also allows setting up site-wide “Follow us” links. This module works not only for Twitter but for several social networks such as MySpace, Facebook, LinkedIn, etc. If combined with the External contributed module, the links will open in a new tab or window, so users will never have to leave the site.
  • Twitter: A very powerful module if you are looking for a more complete Drupal integration with Twitter. It allows users to link their accounts on the Drupal site with their Twitter accounts and have all their posts displayed on the Drupal site. It also allows posting newly created content to Twitter or search through Twitter posts. Another module that can be used to provide live search feeds from Twitter is the Juitter module which integrates the jQuery plugin of the same name
  • TweetMeme: A module that integrates with the TweetMeme service and displays the “Retweet” button on nodes of selected content types. It works great after adding a code snippet on the templates where you want to have the button added; otherwise it will not work and will display a timeout error. This issue is already on the project issue queue, and will probably be fixed on a future release. An alternative module that can be used is the Tweet module. More info about the patch:
  • Facebook Connect: This module allows users to register and login into a Drupal site by using their Facebook credentials. Moreover, users can be automatically logged in the Drupal site whenever logged in Facebook. An application should be created in Facebook to get the API key and Secret Key that allows connecting to the Facebook API. Make sure to set up the right URL on the Facebook Connect options in both Drupal and Facebook application, otherwise it will not work.
  • Drupal for Facebook: I have not tested it much but it provides an API and a set of tools to build applications for Facebook in Drupal. Use it if you want to provide applications for Facebook to display content and manage users from your Drupal site or if you want to synchronize user data from Facebook into Drupal.
  • Add This: Is a very simple module that provides the button to allow your users share the content of your Drupal site through several social networks. Alternatively, you can use Add to Any Share/Bookmark Button which provides similar features. You can use the Share module as well with the Service Links module for the same purposes. The Share module also provides some advanced sharing options besides posting content to the known social networks.
  • Chat Catcher: This module is perfect to grab Twitter comments into your site; it connects to a service of the same name that retrieves all Twitter posts mentioning your site URL, even if the URL has been shortened.
  • Activity Stream: This seems to be a great module that allows users to import their activity in the different social networks, into their Drupal profile pages. This module not only integrates with several well known social networks such as Twitter, Facebook or Foursquare but it also allows importing almost any syndicated content by adding the URL to the feed.

Most of the modules mentioned here provide an API that can be used to extend the given functionality to add more advanced options when integrating your website with social networks.