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!


Return to previous page

  • 4/7/2015




Last updated 9 years ago



(Enter the content of this article below)


The DNN 7.4 Developer Quick Start page is intended to be used as a resource that can help get DNN extension developers up to speed on the latest offerings available in 7.4.0.

Introducing DNN Platform 7.4

Joe Brinkman's Introducing DNN Platform 7.4 blog summarizes the new areas introduced in 7.4.0.
  • Workflow & Versioning API
  • Multi-language settings
  • Improved HTML5 support

You can see a video of a recent DNN hangout here which covers some of the 7.4.0 enhancements, particularly the Workflow API

Additional references

Page Versioning and Workflow Enhancements

not documented yet.

How to disable User Search Indexing in 7.4.0

Ash Prasad's How to disable User Search Indexing in 7.4.0 blog provides very simple steps to disable User Search Indexing in 7.4.0 . See for more background.

Upgraded 51degrees library

51degrees was updated to use version of their library

Add structure to the event log so it is easier to drill down onto problems

Peter Donker contributed some refactoring to make the event log more useful. You can read his blog here
  • Added table Exceptions that stores message/stacktrace/etc of an exception. It is identified through an MD5 hash. The EventLog optionaly includes the hash as a field to refer to this.
  • Added table ExceptionEvents that stores DNN specific exception fields we find in the BasePortalException class such as PortalId, TabId, Filename, etc. It references the EventLog table through the LogEventId.
  • A view is added to draw out the totality of the EventLog including the above two tables

Improve PortalSettings API

Added IPortalSettingsController and a concrete implementation of the interface, where the business logic embedded within the PortalSettings class was moved.

This will also allow us to support testing of these methods.

Added a number of Search enhancements

  • Include Username, Email and IsSuperUser in Lucene search
  • Ensure these are searchable by Administrators or SuperUsers
  • added additional ways to search (NumericKeys and Keywords properties) -
  • added additional querystring parameters for advanced search -

Fixed some issues to make DNN HTML5 compliant and remove obsolete meta tags

Added multilanguage support for site settings

When creating multi-language sites, it is necessary to provide texts based on the currently selected language. For DNN Language Specific Pages (LSP, aka core content localization), special pages need to be language specific as well. And sometimes it is useful to apply different themes per language, including Skins, Containers, Icon Set, Logo and Background Image. There are ideas for future improvements to provide a switch, whether to use language specific design options or keep it synced. Also missing atm is a visual indicator for language specific Site Settings (planned to be added in 7.4.1).

The following settings should support localization:
Stored in Portallocalization table, supporting localization since DNN 5.5:
  • Title
  • Description
  • Keywords
  • Copyright
  • Logo
  • Body Background
  • Splash Page
  • Home Page
  • Login Page
  • Registration Page
  • Search Results Page
  • 404 Error Page
  • 500 Error Page

Stored in SiteSettings table, localizable in DNN 7.4.0 and above:
  • Site Skin
  • Site Container
  • Edit Skin
  • Edit Container
  • Icon Set
  • Redirect After Registration
  • Redirect After Login
  • Redirect After Logout

Support for Persian added has some issues working with Persian. A code contribution was given by a community member that fixes this I.e adding PersianCalendar and fix it's issue with date "1/1/1", adding correct month and day names, setting correct format for showing date, time and numbers.

Miscellaneous performance enhancements

HTML Module UX optimization

The UX for the HTML module was refactored thanks to a community contribution. Amongst the changes are:
  • put the buttons in a fixed part at the bottom
  • never show the scollbars of the popup (auto resize of the editor - Responsive Editor in popups )
  • hide publish information for "Direct publish"
  • replace preview and version history sections with a "render mode" = Edit | preview | version history (buttons)
  • put the Basic / rich text bow radios button in on the button line as combox

More details and screenshots can be viewed at the jira issue

Enhanced HtmUtils methods to support null strings

Some of HtmlUtils methods like Strip*(), Shorten() won't accept null strings as parameters, generating null reference exceptions - but other methods like ConvertToText(), ConvertToHtml() are fine with that. The class was updated so all methods support null strings.

Changed default trust level to be Full

Microsoft no longer recommends using trust levels to enforce security boundaries since it has been shown to not be effective. This change has been made to the installation default.

Added ClientAPI to source

Whilst the ClientAPI is essentially deprecated (i.e it will not have any enhancements), from time to time errors are found. The source has been added to the project to make these easier to fix and to allow for pull requests.

Allow robots meta-tag to be overridden by page settings

Support was added to allow robots meta-tag to be overridden. More details can be found here

HTML module was enhanced to allow better drag-and-drop

The HTML module now supports Drag/Drop of Images from FireFox/Chrome/Opera.

Codemirror updated to version 4.8

Codemirror is used in a number of different places in the platform, as well as a number of 3rd party modules. The platform version has been updated to the 4.8 release

Better country and region controls

  • Addition of new country control based on autocomplete
  • Default for new installations is the new control
  • New region control that contains both dropdown and textbox so they can be switched by JavaScript
  • region list now refreshes without postbacks using new mechanism

Allow xsl, xslt file extension in module installer.

The xsl and xslt file extensions were added to the module installer code.

Enhance "Use Email Address as Username"

More details on this enhancement can be found here

No sections defined
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out