New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Social Communities in DNN platform – Part I

This is part one of a new blog series about setting up a social community with the free DNN platform. I have been presenting about that at this year’s #DNNCon in West Palm Beach, FL and I thought it’s best to write down in detail what I found was a good way in setting up a site like this.

In part one we will have a look at how to setup a login and registration page to let visitors access your site.

Future parts will cover the setup of profile pages, group pages, discussion forums and membership directories. I will update this post to include links once new posts go online.


Login / Registration

The page that your visitors will use to get access to secured content is a crucial page within your website. I call that page a VIP, a very important page, since on that page you can either let visitors easily gain access to your secured content or – when it comes worst - scare them away.

From other bigger sites on the internet we know that it is preferable to have login and registration forms available on the same site, without the need of having the user switch back and forth between different pages – at least not without back links.

Unfortunately with current versions of DNN it is not possible to have a login module together with an account registration module on the same page without doing a bit of ascx files hacking. (you will basically need to set CausesValidation=”false” on the LinkButtons in both modules)

signup Fig 1: both forms – login & registration on the same page. While that is visually appealing and helpful to the visitor, it is not possible.

The workaround is to either create two different pages with a layout like on the screenshots left. You basically mimic a single page layout.

Alternatively you can of course make use of third party modules that are not affected by that behavior.

Feel free to give the DNN-Connect account registration module a try. That module allows for both forms on one page.

That module renders its forms through templates, providing you with the ultimate flexibility, which is another improvement that DNN is yet lacking.

Either way it is advisable to ask not too many profile properties in the registration form. As I said, it must be dead simple to gain access to your site. Once someone is registered successfully and has accessed the site you can still ask for a completed profile or even make that mandatory.

clip_image006You can customize the way the registration form looks like in Admin > Site Settings > User Registration

Once this is set to Custom, you can type in Properties to ask for in the form and they will show up in the order you have added them here. The above together with a Display Name Format set to [FIRSTNAME] [LASTNAME] gives you as less form fields as possible and therefore the type of form that you have been looking for.


Social Logins

You may also want to consider providing authentication facilities for third party sites like Google, Facebook, Twitter or Live. All these four providers are available in the DNN platform core distribution. Please try those providers first in a development environment. They may or may not work for your use case and they may create user accounts in a format that not necessarily matches your needs.

clip_image008Here is – in short –what you need to do in order to use social logins.

1. Go to the developer platforms of the site that you want to utilize the authentication (see bottom of this post for links)

2. Create an app and / or request API keys and / or API secrets

(Naming differs between the different platforms, in general you need some sort of security token that authorizes the provider)

3. If the providers have not been installed already go to Host > Extensions > Available Extensions > Authentication systems and install the providers that you need.

4. Once installed go to Admin > Extensions > Authentication Systems and configure each provider by clicking on EDIT next to the provider.

5. Once the provider is enabled, a corresponding button should appear in the login form.


My personal fly in the ointment with the current providers is that they don’t check if an account for a given e-mail address exists already, i.e. they will create new accounts in all cases and prefix the username with the authentication method, e.g. “facebook-“

I hope to get this behavior changed for one of the next DNN versions.


Final Configuration

The last step once everything is done, will be to set a few more settings in Site settings > User Account Settings.

a) Redirect After Login – most likely point to a community entry page or the profile page of the current account

b) Redirect After Logout - whatever you feel is right. Must be visible to non-authenticated users obviously

c) Redirect after Registration – again most likely to a community entry page. Or, alternatively to the profile page so the user can finalize his profile data.

Additional consideration is needed for the Registration Mode overall. The most open mode and therefore many times the mode of choice in social communities will be “Public”, where the user is registered and authenticated right away with no further validation.

Once set to “Verified” you can at least make sure, that the user has a valid email address that he has access to. Of course this adds another hurdle to the whole process. Sometimes those verification emails take forever to arrive and the user is gone already and will not come back again anytime soon.

It all depends on your situation and there is no best practice guide for choosing the right setting here unfortunately.


Email Notifications

Note that DNN will send emails to the user account registering on your site during the registration process. The content of those emails is template driven and I cannot often enough keep telling people to customize those emails. It is the first email they get from you once they register on the site and you will certainly not leave them with that crappy plain text message that is being shipped with the platform.

You will find the templates in Admin > Languages > Global Resources for each of your portal languages. Do not attempt to edit the system resources as those will be overwritten with each upgrade. Either alter the host resources for system wide changes or the portal resources for portal specific customizations.

The resource key fields to watch out for are:


Each of them refers to one registration mode, so make sure you change the one that matches your mode.

Formatting email templates is straightforward if you know how to code html. It’s even easier once you have been around for a while, because email clients do not know much about css3 and all those modern web technologies. HTML coding an email is pretty much the same than coding a table based website back in the 90’s.

A good guide to writing HTML emails may be found here:

Tokens that you can use within those emails can be found in the wiki pages


Developer sites to gain API tokens for social logins:


This post is cross posted from my personal blog on


There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out