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.

Managing Profile Properties - A Tutorial for Administrators

One of the biggest enhancements in 3.3/4.3 was the overhaul of the User Profile feature.  In ealier Blogs I have described some of these changes.  In this Blog, I will describe how you (the Portal Administrator) can manage your portal's Profile options.

Manage Profile Properties

In previous versions of DotNetNuke, the available profile properties were defined in web.config, and were therefore the same for all portals in the same DotNetNuke installation.  With 3.3/4.3 we have implemented a system whereby a Portal Administrator can define the fields he/she would like to be part of a user's profile.  Not only can the default profile properties be edited, but new profile properties can be added.

Profile properties can be managed from the User Accounts admin module.


Once you are in the User Accounts module, you can then access the "Manage Profile Properties" action.  Accessing the action depends on the "skin/container" used on your site.  In the default skin the action is available in two locations - in the Action Menu available by clicking the small down arrow in the top left of the module, or in the list of links (Action Buttons) on the left of the container footer.


You can select either link to go to the Manage Profile Properties screen.


Again, the actual display will depend on your skin, and which styles have been implemented for the row and alternating row of the Grid.

Lets look at the options available in this view.
  1. The first two columns allow you to "edit" or "delete" a profile property. 
  2. The next two columns (the Up/Down arrows) allow you to change the Display Order of the properties.
  3. The last two columns allow you to set whether the property is required, and whether the property is visible to the user.  In addition the check boxes at the top of these columns allow you to set/unset the whole column at once.
  4. The "Update" button at the bottom saves the changes you have made in this view.  Note that changes you make to the display order and the required and visible columns are not saved unless you click this button.  Also note that the Delete Action happens immediately (as long as you confirm in the pop-up dialog that you wish to proceed).
  5. The "Refresh" button clears all the changes you have made, since the last "Update".

Editing an Existing Profile Property

If you select one of the "Edit" arrows in the first column, you will be redirected to the Edit Profile Definition UI (see below).


This screen allows you to modify some of the attributes of the Profile Property.  Note that the Property Name and Data Type cannot be changed.  Two attributes (the View Order and Category) are required as indicated by the red arrow.

Lets look at the atributes you can edit:
  1. Property Category - used to group the properties in the Profile Editor.
  2. Length - this value controls the maximum length of the attribute, and is only valid for Text properties
  3. Default Value - this property is not actually implemented yet (so it deoesn't do anything)
  4. Validation Expression - You can provide a regular expression to validate the data against (only valid for Text data types).  For instance [\w\.-]+(\+[\w-]*)[email protected]([\w-]+\.)+[\w-]+ can be used to enfoce a valid email address ([email protected]).
  5. Required - You can set whether the property is required.
  6. Visible - You can hide the property from the user.  Unchecking this allows an administrator to edit/view information about a user that is hidden from the user.
  7. ViewOrder - While this is better managed from the Grid View (see above), you can set the ViewOrder of the property here.
Update, Cancel and Delete buttons at the bottom work as expected.  Update saves any changes, Cancel allows you to return to the list without saving the changes, and Delete allows you to delete the current property.

Adding a New Property

As with most modules in DotNetNuke, adding a new property is similar to editing an existing one.  Select the "Add New Property" action, either in the Actions menu or in the footer of the Module.

You will then get the same screen as above for editing, with the exceptions that the first two attributes are now "editable".


These two fields are both required, as indicated by the red arrow.  The property name is used to identify the name of the property (and is required to be unique within a portal, and the DataType allows you to select the type of property.

Note: the list of DataTypes available is extensible, but that is a topic for a future Blog.

In order to localize the text for a newly added property, you must have the ability to access the localization resource file (Profile.ascx.resx), so you can add the appropriate localized text.   We are working on a system to automate this.


Jennifer Lucano
This is not working for me. I have attempted to save a new multi-line text profile property over 10 times and the settings just keep going back to "read only" and "required". I have unchecked both of those boxes but the changes won't take. Is there a trick that I'm missing? Very frustrating. Using DNN version 7.3.4
Jennifer Lucano Tuesday, September 12, 2017 5:49 PM (link)

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)
Timo Breumelhof (24)
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