Drupal Planet

Articles and blog posts that are of interest to other Drupal developers, site builders, and community members.

Authentication + data mapping + viral sharing with 18 social networks: The Janrain Engage module is now stable for Drupal 7

 

After three months of hard development work with George Katsitadze (geokat), we're very proud to announce the stable release of the Janrain Engage module for Drupal 7.  Hello version 7.x-2.0!

This new version is feature complete and chock full of point-and-click tools for integrating with 18+ social networks and web services including Facebook, Twitter, LinkedIn, MySpace, Google, Yahoo!, AOL, and Windows Live.  Not only is there support for authentication, third-party profile data mapping, and social sharing, but we've also baked in strong Rules and Views integration.

So I thought I'd take this opportunity to take you on a tour of the most notable features.  (You can click each screenshot below to view the feature at a larger size.)
 

Login and Registration

Allow site visitors to quickly register and login with one of their existing accounts at popular third-party websites such as Facebook, Twitter, Google, and Yahoo!.  Support is included by default for both the Drupal user login page and the Drupal user login block.

Login and registration
 

Data Mapping

With permission of the user, you can map user profile data supplied by Janrain Engage to specific Drupal data fields.  Did a user update their real first and last name on Facebook, but didn't bother to do it on your site?  With just a few clicks to configure the data mapping, you can import this data automatically!

Data mapping
 

But what if a user has authenticated with multiple identity providers, including Facebook, Twitter, and LinkedIn?  How can you specify which provider profile data gets kept and which data gets overwritten?  With our module, you can simply rank the providers for each field you're mapping.
 

Provider priority


Linked Account Management

A "Linked accounts" tab is provided to any end user who is granted the appropriate permission. Using this tab, a user can easily add, remove, or otherwise manage the third-party identity providers connected to his or her Drupal website account.

Linked account management


Social Sharing

Make it easy for users to share their Drupal site contributions and activity with friends and followers on other social networks. A "Share" button or link may be included alongside specific Drupal content types and comments (which triggers the Janrain Engage social sharing widget).  Better yet, specific "tokens" can be used to completely customize the default text and links included when users share content (similar to "mail merge" fields).

Social sharing


Rules Integration

For those also using Drupal's Rules module, it's possible to create sophisticated logic that triggers certain website actions when a user registers or shares content via Janrain Engage.  

For instance, let's say that anytime someone registers with a Facebook account you want to send them a special e-mail message that suggests they invite their friends to join the site?  Just pick an event ("Linked account was added"), define a condition ("user has linked a Facebook account"), and implement an action ("send an e-mail").  A couple of minutes later, you're good to go!

Rules integration

 

Views Integration

What if you want to quickly create an administrative page that shows all of the users on your site who have authenticated using Janrain Engage?  Using Drupal's Views module and a couple of point-and-click configurations, you can create a custom page that shows all linked accounts on your site and even allows you to filter these results by provider (such as Facebook or Twitter).

Views integration

 

Better yet, all of the features I've mentioned don't require writing a single line of code.  In fact, even a Drupal site building novice can quickly configure these advanced features--making it now possible to integrate with the larger social web in 10 minutes or less!

So please download the new 7.x-2.0 release of the Janrain Engage module and let us know what you think.  If it's easier for you to play around with a live demo site running the latest code, you can do so here.
 
For more complete documentation, see our project page (http://drupal.org/project/rpx) or view the module's README.txt file.
 
 

Janrain Engage Module RC1: Rules integration for sharing any Drupal event with 18 social networks!

Social sharing widget

As part of the recent release RC1 release of the Janrain Engage module for Drupal 7, I thought I'd do a series of blog posts highlighting some of the amazing new features.  Did someone say Rules integration for social sharing?

For those who have been following the Janrain Engage module's development, you already know that the module helps Drupal sites authenticate new and existing users with 18 social networks and service providers, including Facebook, Twitter, Google, Yahoo!, LinkedIn, Myspace, and AOL.  You may also know that the module makes it easy to share Drupal nodes and comments with these networks via Janrain Engage's social sharing widget.
 
But thanks to our newly expanded Rules integration and the new "Launch social sharing widget" Rules action, your users can now share not only nodes and comments, but also any Rules event with their extended social network.  
 
So did a user just get bumped up to a new Drupal role?  Let them share it with the world!  Or did a user just make a new friend via the User Relationships module?  They can share that, too.  The possibilities for social sharing (and generating new traffic to your Drupal site) are endless!
 
To see this in action, let's say that we want our users to share the fact that they just earned points on our Drupal site (using the excellent Userpoints module).  To do this, we simply add a new rule on the "User was awarded points" event supplied by Userpoints.  
 
We then create a "Launch social sharing widget" Rules action on this event, which results in the following action configuration screen:
 
Rules configuration (top).
 
Rules configuration (bottom).
 
As you can see, the "Launch social sharing widget" action allows for full customization of the social sharing widget text, including modifying the default comment that will be displayed as the user's Twitter tweet or Facebook wall post.  This includes full support for all available tokens.  The result is that when a user earns points on your site, the Janrain Engage social sharing widget is automatically launched and looks like this:
 
Social sharing widget
 
And once the user clicks the widget's "Publish" button, here is the result, for example, on the user's Facebook or Twitter page:
 
Facebook wall post
 
Twitter tweet
 
 
Better yet, all of this was configured from the site builder's user interface in under 5 minutes without a single line of code!
 
I'll be focusing on other exciting features in subsequent blog posts, but if you're excited to try this out right away, please visit the Janrain Engage project page and take out our RC1 release for a spin.
 
Janrain Engage project page:  http://drupal.org/project/rpx
Release Candidate 1 download page:  http://drupal.org/node/1103468
 
Cheers,
Ben
 

DrupalCon BoF (Thursday @ 10): Social Network Integration -- Janrain Engage and Other Solutions

  • What:  Birds of a Feather meeting at DrupalCon Chicago
  • Date/Time: Thursday, March 10th, 10:00 AM - 11:00 AM
  • Room: Erie 

Are you interested in allowing your Drupal users to login with their accounts on popular social networking sites? Would you like these users to easily share Drupal content and comments on these networks and drive traffic back to your website?

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!

Userpoints for Drupal 7: Three Cool UI Enhancements

Userpoints for Drupal 7: Three Cool UI Enhancements

Over the past few months, I've put a lot of work into the Drupal 7 version of the Userpoints module. Using the module, you can award or deduct points for user participation on your site. Combined with some cool recognition or prizes, the module can help provide a strong incentive for your users to get involved.

Led by the excellent coding work of Berdir (Sascha Grossenbacher), we've totally revamped the user interface, added tons of new features, and cleaned up a lot of the bugs in the Drupal 6 version. So I thought I'd take a moment to point out some of the most noticeable changes and how it can enhance your points-driven website.

Making Module Administration More User Friendly (in 30 seconds or less)

Making Module Administration More User Friendly (in 30 seconds or less)

For those of us with a bit more Drupal experience, it is easy to forget that most Drupal newcomers don't automatically know where to go to find a certain configuration screen or settings page.

And given that Drupal 7 changed the default paths to many notable administration pages, it's more important than ever to make it easy for Drupal newbies to get where they need to go after installing a module (especially if the module's README.txt file is not particularly up to date).

Contributed Modules Unite! Working in Harmony on the Drupal 7 User Account Page

Contributed Modules Unite!  Working in Harmony on the Drupal 7 User Account Page

If you have more than a few Drupal contributed modules on your site (especially ones related to enhanced user features), you may soon discover that a bunch of modules want to add content to the user account page.

Getting Git for Your CentOS or Red Hat Server

With the Drupal.org Git Migration just around the corner, more than a few Drupal community members are going to need to get Git installed on their Red Hat or CentOS server. Even though Git isn't included by default, there's an easy way to install it from the EPEL (Extra Packages for Enterprise Linux) repository.

To do so, just type the following commands (assuming you're using RHEL 5.x or CentOS 5.x):

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'


su -c 'yum install git'

Improving the Usability of Your Module's Configuration Page

Improving the Usability of Your Module's Configuration Page

One of the things that is most daunting when you install a feature-rich contributed module is the sheer number of settings and options that might be found on the module's main configuration pages. In many cases, the description of each setting is limited and documentation is scarce. It's probably going to take more than a few minutes to really understand the purpose of each setting.

Subscribe to RSS - Drupal Planet