LIFE CHALLENGE

Life Challenge is an innovative Australian based content creator and producer which delivers

uniquely powerful documentary films and TV shows to a global audience.

Overview & Requirements

This project was about integrating an extensive social media functionalities to an existing website. The website is about an organisation who undertakes various sports and trekking programmes and creates unique challenges for encouraging individuals to stay fit. They had an already existing drupal 7 website which had the basic content types and design ready. In this phase they wanted us to do an advanced social media integration work.

Detailed Requirements
Social Media Linking

Users should be able to link their facebook, linkedin and twitter accounts to the site. Also the company admin and company partners (both created as separate roles) can link their company facebook account and page, twitter account and linkedin pages.

Periodic Cron User Feeds Import

Everyday 4 times the cron would run and the linked facebook, twitter and linkedin accounts of each users and the admins would be scanned.

For facebook, all those posts and link shares will be picked which either does @mentions to the admin facebook account or the company page as well as mentions other users in the site. These posts will be converted into a separate content type and published into the site with the details of the facebook links and facebook image and the post content. This is true even for a comment posted with @mentions. For comments and excerpt of the original post has to be shown.

Similarly for twitter and linkedin, all those tweets and posts respectively will be picked which either mentions the company twitter account or posts from linkedin which mentions the company linkedin account.

Advanced Feeds Display Mechanism

All the feeds were supposed to be displayed into the site in a separate themed responsive sidebar widget as well as a separate page which pulls in additional details like likes and rating counts of the post for Facebook and number of re-tweets for the twitter.

Advanced Notification System

Also, we needed to develop a notification system where after a tweet or post is published to the site, the owner of the account is notified to check and report if he has any issues. All the created content in the site could be disabled at will by the site maintainer.

An Extensive Youtube Integration

An extensive youtube integration was required as company periodically posted different interview and promotional videos in youtube under various categories. Another feature that we needed to develop was based on user ages, auto provide a viewer access to the videos and bypass the youtube age restriction step.

Architectural Overview & Challenges

This project posed us with a number of challenges. First was the depth of the API integration required. Our development team needed to study in detail the Facebook, Twitter and Linkedin APIs and provide detailed suggestion to the client what was allowed and what not. Then we needed to develop a mechanism to be able to counter the expiring API keys for each of these social media APIs. Also, there was a requirement where a single user can associate multiple accounts of facebook, twitter and linkedin but at any point of time disable sync posts and tweets from those accounts with already pulled in tweets remaining unaffected but stopping subsequent sync of data from those accounts. the other major challenge was dealing with the huge amount of data and cron run sync. This was dealt with by employing the awesome queue API of drupal. The entire feature was mostly custom coded and Drupal’s core APIs provided us enough base and extendability to achieve the above features not only perfectly as per spec but also in a very efficient way so that load on the system can be reduced and error could be minimised. The displays and frontend was mainly done using views and email and notification sendouts using rules.

Outcome

Client was really impressed by our work, especially with integration of API's of Social media accounts with the website.

Extensive Use of Drupal's queue API to Import Feeds Data on Cron run

Advanced social media integration work to import feeds from connected user's Facebook, Linkedin and Twitter

Extensive youtube integration for Videos and Video Channels

A Granular control of which cron runs and imports what data from which social network.

A Detailed Permission Scheme so that Admins can grant specific permissions to various users for connecting and displaying the social media data

An intuitive, clean and responsive social media widget to display and filter the social media data based on a detailed context integration

2438

Lines of code

180

Coffee Consumed

3

Members in the Team

3990

Hours Used

See the Site in Action or Take a look at our other prominent work!