Connect to Facebook, Google, and Twitter (plus 15 other web services) in 10 minutes or less!

Janrain Engage Login and Social Sharing Widgets

Do you want your Drupal site visitors to quickly sign-in with their accounts on Facebook, Google, Twitter, Yahoo! or other popular websites?  Do you need to map user profile data from these third-party sites and store them in Drupal fields?  Want to instantly empower your users to share Drupal content and comments with all of their friends, followers, and fans?

If you've answered "yes" to any of these questions, then the Janrain Engage module may be just what the doctor (or developer!) ordered.

I discovered the underlying Janrain Engage service about a year ago when I was trying to figure out how to most efficiently integrate my Drupal websites with the larger social web.  I also discovered that a contributed module for Janrain Engage (formerly RPX) already existed, but could use some serious love.  Since then, I've become very active in the development of the Janrain Engage module (and even signed on as a co-maintainer).

Using the Janrain Engage module and service, Drupal sites can authenticate new and existing users with popular third-party websites, map user profile data from these websites to Drupal fields, and share Drupal content with a user's existing social network on multiple third-party sites.  In particular, the module helps Drupal websites quickly integrate with 18 social networks and service providers, including Facebook, Twitter, Google, Yahoo!, LinkedIn, Myspace, AOL, PayPal, Flickr, and Windows Live.

Instead of having to integrate with each of these sites on your own (and manage API changes over time), Janrain Engage does the heavy lifting for you.

And best of all, there is a free version of the Janrain Engage service that has a surprising number of high-end features.  (If you're working on an enterprise-level site—NPR, Sears, and Get Satisfaction all use Janrain Engage—you can also purchase higher-level service.)

On the Drupal side of things, we've worked hard on the module so that any Drupal developer or site builder can quickly enable it the usual way, configure its settings in under 10 minutes, and then have it "just work."

In the remainder of this blog post, I will describe some of the cool features and UI enhancements we've added to the Janrain Engage module in the last couple of months.

FEATURES IN THE DRUPAL 7 VERSION

Led by the excellent coding work of George Katsitadze (geokat), the Drupal 7 version of the module includes:

Login and Registration

Allow site visitors to register and login with one of their existing accounts at popular third-party websites.  Support is included for both the Drupal user login block and the user login page. Quickly and easily converting anonymous site visitors into active registered users.

User Login Page

User Login Block

Data Mapping

With permission of the user, you can map third-party user profile data to specific Drupal fields. A variety of fields are now supported, including User fields, old-style core Profile fields (for those upgrading from Drupal 6), and Profile2 module fields.

Field Mapping Page


Import Profile Picture

You can instantly import a user's profile picture from a third-party site and use it as the user's Drupal profile picture.

Import Picture Setting


Social Sharing

Make it easy for users to share their Drupal content and comments with friends and followers on other social networks. A "Share" button or link may be included on specific content types, which triggers the Janrain Engage social sharing widget. When a user submits a comment, this widget can be automatically triggered (suggesting to the user that he/she should share the comment).

Social Sharing Link


Linked Account Management

A "Linked accounts" tab is now provided to the end user (who has the appropriate module permission). Using this tab, a user can add, remove, or otherwise manage the third-party accounts connected to his/her Drupal site account.

Linked Accounts Tab


Rules Integration

For those using the popular Rules module, you can configure the full range of Rules-based actions to occur (change a role, send an e-mail, etc.) whenever a user adds or removes a third-party linked account via Janrain Engage.

Rules Configuration


Better yet, we've re-written the code to be more modular:  Just enable the features that you need.

TRY IT OUT. . . AND GET INVOLVED

We've recently released a 7.x-1.0-beta1 version of the module and would love to get your suggestions, bug reports, feature requests, and general feedback.

To make it easy for you to check out the module's capabilities, we've got the latest stable code up and running on the following demo site:

http://plugins.janrain.com/drupal7

You can login both as a regular Drupal site user and as an administrative user (so that you can see the module configuration settings, too).

If you'd rather just quickly look over more screenshots (including all of the configuration settings), you can do so here:

http://plugins.janrain.com/drupal7/?q=screenshots

And feel free to leave a comment on this blog post or else I'll see you in the issue queue!

Comments

Looks great guys! Any input on how this compares to the Gigya set of modules? (particularly the first):

http://drupal.org/project/gigya
http://drupal.org/project/gigyaToolbar
http://drupal.org/project/gigya_bookmark

BenK's picture

Hey patcon,

Thanks for the note. I haven't tried Gigya in about a year (it could have improved since then), but when I was shopping around back then, I found the Gigya module to be pretty buggy and lacking some basic features I expected. I also thought the underlying Janrain Engage service was more powerful, yet simpler to use.

Since becoming involved with the Janrain Engage module, I also have met some folks from Janrain and know that the company is very committed to actively developing the module and supporting the Drupal community. (They even run their main corporate website on Drupal.) So for me that is a big plus.

--Ben

The one (rather significant) problem (as I understand it) with this very nice approach: You are permanently committed to Janrain, no matter what they may charge and no matter what their code may be like. If you turn off their module, then all your users are suddenly locked out.

The challenge is, how do you move out of jainrain and not loose all the data about which account is connected to which social profile. The jainrain may drop support for D7 or just start sucking in general.
Any thoughts of potential migration out of this?

BenK's picture

Thanks for the comments rfay and vkr11.

Actually, this is one of the really cool aspects of the module. All data for the user supplied by third-party networks (via Janrain Engage) is stored within the Drupal site itself. So when a new user signs up via Janrain Engage, all of their data is mapped to and stored in pre-assigned Drupal fields. So even if you were to turn off your Janrain Engage account at some point, you'd still retain all of that data for the user.

Likewise, if you turned off the service, all of your users still have an active Drupal account on your site that can be linked to any third-party account (Facebook, Twitter, etc.) manually.

The nice thing about the Janrain Engage service is that they don't store any data (so you aren't tied to them for data retention). Additionally, they return all data in an open format so that it is easy to read or implement in a custom way. Finally, they return the same data and identities that you would get from the individual providers (they just make easier to integrate). So it's a good solution to integrate quickly and then you can develop your own custom implementation when you have more time/resources.

--Ben

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.