Netgen Connect - sign in by social networks made easy

Tuesday 22 March 2011 9:18:31 am

By : Edi Modrić

Social networks are what web is about today. If you don’t have at least one social network account, you practically don’t exist on the Internet. Some would argue about these statements (including myself, mainly concerning Facebook), but at the end of the day, the truth is that social networks matter, to users as well as websites.

One feature that is lacking in eZ Publish, and it seems like every other web out there has it, is the ability to create an account and sign in by using your favorite social networks. Well, not anymore. I’m proud to present to you an extension called Netgen Connect, which provides an easy way for your users to sign in to your site with just a few clicks.

Netgen Connect currently supports sign in to eZ Publish sites via three social networks used worldwide: Facebook, Twitter and Tumblr. Once extension is installed and properly configured, users are presented with a link for each of the social networks, which, upon clicking, lead them to social network of their choice and back again after authentication/authorization.

Extension also has its fair share of options, configurable through ini file, of course. For example, there is an option to configure how social network sign in pages will be displayed to your users, through pop ups or in the same browser tab as your site is opened in. For Facebook, you can define what permissions will be asked of your users by your Facebook app, so once they’re signed in, you can use those permissions to build an even better experience for your users. It is also possible to instruct the extension how to fetch user images (avatar sizes or the original ones) as well as define a separate parent node for each social network, in which your newly registered users will be placed. And if that’s not enough, extension also supports connecting the social network accounts of your users to their already existing eZ Publish accounts, thus providing them both ways to sign in.

Extension development started when, naturally, one of our clients requested such functionality to be added to their new website. Specifically, they needed a system to allow Facebook users to start using their site with as little hassle as possible. We, at Netgen, discussed the requirement for couple of days and decided not to create a “Netgen Facebook” extension, but rather an universal and extensible system that would support each and every social network/website that uses standardised ways to provide sign in capabilities. Basically, all it takes to support a social network not already present, is to create an additional PHP class and plug it in via ini settings. Documentation on how to do that is provided with the extension.

Extension is published under a GPLv2 license and can be downloaded from http://projects.ez.no/ngconnect. The sources for the extension are hosted on GitHub for those who wish to support additional social networks and have that support included in the extension in future releases.

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 11:44:48
Script start
Timing: Jan 18 2025 11:44:48
Module start 'layout'
Timing: Jan 18 2025 11:44:48
Module start 'content'
Timing: Jan 18 2025 11:44:48
Module end 'content'
Timing: Jan 18 2025 11:44:48
Script end

Main resources:

Total runtime0.0919 sec
Peak memory usage6,144.0000 KB
Database Queries43

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0071 588.0625152.6406
Module start 'layout' 0.00710.0028 740.703139.4844
Module start 'content' 0.00990.0805 780.1875360.8047
Module end 'content' 0.09050.0014 1,140.992215.8594
Script end 0.0918  1,156.8516 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00343.7464150.0002
Check MTime0.00121.3398150.0001
Mysql Total
Database connection0.00101.047110.0010
Mysqli_queries0.044848.7719430.0010
Looping result0.00050.5257410.0000
Template Total0.056461.420.0282
Template load0.00252.719820.0012
Template processing0.053958.669420.0270
Template load and register function0.00010.105610.0001
states
state_id_array0.00111.214710.0011
state_identifier_array0.00101.125420.0005
Override
Cache load0.00202.2138130.0002
Sytem overhead
Fetch class attribute name0.00202.195330.0007
class_abstraction
Instantiating content class attribute0.00000.008830.0000
General
dbfile0.00141.4926100.0001
String conversion0.00000.008840.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplblog_entry/full.tplextension/community_design/design/suncana/override/templates/blog_entry/full.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
3content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
1content/datatype/view/ezkeyword.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezkeyword.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 9
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs