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 referencesPage 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 https://dnntracker.atlassian.net/browse/DNN-5055 for more background.
Upgraded 51degrees library
51degrees was updated to use version 3.1.9.3 of their
libraryAdd 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) -https://dnntracker.atlassian.net/browse/DNN-5055
- added additional querystring parameters for advanced search - https://dnntracker.atlassian.net/browse/DNN-5976
Fixed some issues to make DNN HTML5 compliant and remove obsolete meta tags
Added multilanguage support for site settings
https://dnntracker.atlassian.net/browse/DNN-6137
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
asp.net 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.
https://dnntracker.atlassian.net/browse/DNN-6148
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
issueEnhanced 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
hereHTML 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
releaseBetter 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