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.

4.5.2 Released

That's right, DNN 4.5.2 has been released! Check out the list of changes cross posted from another blog.

I'll be upgrading some of my sites later this afternoon.

DotNetNuke 4.5.2 has been released and is available for download from Codeplex here's a list of fixes/changes

- added new DateTime Edit control which can be used in the User Profile ( and other Property Editors ) for collecting date and time information

- modified automatic upgrade processing to force the Database check to happen before the MachineKey check. This will help prevent a fringe situation where the application would think it was a new install and would overwrite the MachineKeys.

- added new Request Filter feature which allows blocking based on IP as well as a number of other server variables

- removed alert box which would be displayed when callback fails during populate on demand from the DNNMenu control. This would only happen in situations where the users session had timed out and they hovered their mouse pointer over the action menu in their browser

- added UpdatePanelUpdateModeType AJAX enhancment. This was necessary in order to set the UpdatePanel.UpdateMode to Conditional - which is now the default ( it was mistakenly set to All in the previous version ).

- Added RegisterPostBackControl AJAX enhancement which allows for exclusions of controls from UpdatePanel async processing. This was implemented in the UrlControl to prevent partial rending when uploading files ( stream operations do not work with partial rendering ).

- Added WrapUpdatePanelControl AJAX enhancement which allows you to easily take any control on the page and have it wrapped by an UpdatePanel.

- Added CreateUpdateProgressControl AJAX enhancement which creates an update progress control. This was implemented in Skin.vb so that the update progess control is automatically injected by the framework for modules which support partial rendering.

- when installing dynamic modules, there was an issue identified when trying to write to the web.config file. The issue was caused in situations where the Microsoft Web Admin Tool had added a namespace to the web.config file. The code was modified to ignore the namespace if it exists.

- DNN-5510 fixed Permissions Fill* controller methods which did not load the RoleID value properly and would result in data corruption when the Permission Grid was saved repeatedly.

- created update SQL script to repair permission records which may have been corrupted when using User Level Permissions. This could have only happened if the permissions grid was loaded and saved multiple times when using User level Permissions.

- added SQL script to clean any potential duplicate records from all Permissions tables and then add a unique constraint to preserve referential integrity

- UrlControl overhauled by Mauricio Marquez so that it works in dynamic loading and postback scenarios. A problem introduced in DNN 4.5 where the UrlControl would always display a type selector, even if there was only one type option available, was also resolved.

- modified logic in Module Definitions and Host Settings so that when the application is running on localhost ( Request.IsLocal ) it does not check for upgrades. This prevents broken image links when developers are working local without an active Internet connection.

- added more defensive coding in Module Output Caching to deal with situations where no content is retrieved from the cache for a module

- in Page Settings, moved the Hidden? option to Basic Settings and changed its name to Include In Menu? for improved usability

- in Site Settings in the Usability section, added an option so that the administrator can specify Control Panel Security for either Page Editors or Module Editors. Setting the option to Page Editors provides the same Control Panel behavior which existed prior to the enhancement in this area in 4.5.

- in Portal Template Export, removed nodes which would cause it not to validate against the schema on import. The offending nodes were related to properties added to the the ModuleInfo class and Permissions classes in DNN 4.5. On the subject of the Permissions classes, it is not possible to include the user level permissions in the portal template at this time because it means that User objects would need to be exported - which would introduce a security issue in terms of how to serialize passwords.

- added logic which now allows RSVP code related to Roles to be passed into the application via QueryString parameter on both Login and Registration. The URL is now exposed in the Security roles for Roles which have an RSVP code.

- fixed logic so that the banner cache is cleared when a Vendor is deleted

- modified Registration so that after successful registration, it returns to the original page where the user clicked the Register button. This is important for usability, as you do not want to lose the users attention after they register on your site - especially if it was for a specific purpose such as gaining access to a private page of content or adding an item to a shopping cart.

- in Site Settings, moved the Copyright field to the Site Details section. This should help to avoid usability questions on how to change the Copyright message ( an action which needs to be taken on every new site installation )

- in Site Settings, added a new Site Marketing section in the Basic Settings area. Site Marketing provides access to a number of features which allow the Administrator to promote their website.

- Search Engine submission is now available for Google, Yahoo, and MSN.

- Site Map URL expands on the SiteMap feature added in DNN 4.5 by providing the URL to your site map file as well as the ability to Submit the site map to Google Webmaster Tools.

- When signing up with Google Webmaster Tools you need to Verify your site ownership. The new Verification option allows you to choose the "Upload an HTML file" method from the Google Verification screen and then enter the filename displayed ( ie. google53c0cef435b2b81e.html ) in the Verification textbox. Once you click Create you will be able to return to Google and select the Verify button.

- Advertise allows you to sign up for Google Adwords which allows you to promote your site through text banners which appear in the Google search results as well as affiliate web sites.

- Banners allows you to specify the types of banner ads you would like to serve on your site

- a new feature has been added to help simplify Google Adsense enablement for a site. When logged in as an Administrator, a banner will be displayed which invites you to sign up for a Google Adsense account. Clicking the link takes you to the DotNetNuke website where you can activate your Adense account and immediately be transferred back to your own site to complete the automated enablement of Adsense. This feature eliminates the need for administrators to learn the Adsense API and cut and paste HTML script into their site.

- fixed bug in User Profile where updating profile information would not take effect immediatey. This is because the ClearUserCache method was referencing the wrong cachekey

- added ability to specify ServerName in config file. This feature can be used for more granular control over the Scheduler.

- added standard support for resource files related to .aspx pages ( ie. page.aspx = page.aspx.resx )

- added GetModuleTabs(ModuleID) API method to return a collection of ModuleInfo objects for every Tab on which a Module exists

- fixed issue with legacy modules not having a version number which prevented the user to save the Module Definition record because version number is now required ( and disabled in the user interface )

- modified custom email validation RegExp expression in User Settings to escape dashes. This was to prevent a problem where email addresses containing dashes were flagged as invalid.

- fixed default html skin files to remove the <%= skinpath %> server-side script. The inclusion of this script resulted in issues with the ASCX files produces after being parsed with the standard Skin parser.

- DNN-5529 fixed a problem introduced in 4.5.1 which would occur when adding a page and not specifying the Title, Description, or KeyWords fields. These fields would be defaulted to the PageName value, which would break the inheritence feature where pages inherit attributes from the Site Settings.

- DNN-2612 fixed XML Error in Resource Verifier

- DNN-5483 fixed problem where selecting Update in the Edit Module Definition screen would erase the state of DNN Interfaces ( ie. ISearchable, IPortable )

- DNN-5536 added enhancement to log the application shutdown reason

- DNN-5452 added logic so that the AddRoleGroup API method returns the new RoleGroupID

- DNN-1901 added enhancement so that SMTP Server Port can be specified in the Host Settings area

- DNN-4371 improved html standards conformance for generated html code in default.aspx

- DNN-5516 added logic in Module Packager to exclude .dnn.config file

- DNN-5526 added logic in Resource Verifier so that it catches all resource files




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 Daniels (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