Products

Solutions

Resources

Partners

Community

About

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.


Minimum DotNetNuke Core Version Support

I was looking around for some details on the xml node available for an installable DNN module labeled compatibleversions. I was able to find a forum post in our private team forums where Shaun talks about this (from back in November) and I figured I would share with the community. This node can be placed in the .dnn manifest file, used by the DotNetNuke module installer,  and can set the minimum required DotNetNuke core version a module requires.

For example, the next major forum release requires DotNetNuke core 4.4.0 or greater. In order to handle the potential support issues which would arise from users trying to install in DotNetNuke 4.3.5, for example, this node allows me to specify in the .dnn manifest file the lowest compatible core DotNetNuke version my module requires.

To use this in my module, I structured my .dnn manifest file as such:

<?xml version="1.0" encoding="utf-8" ?>
<dotnetnuke version="3.0" type="Module">
 <folders>
  <folder>
   <name>Forum</name>
   <friendlyname>Forum</friendlyname>
   <foldername>Forum</foldername>
   <modulename>DNN_Forum</modulename>
   <description>The core forum module for DotNetNuke.</description>
   <version>04.04.00</version>
   <businesscontrollerclass>DotNetNuke.Modules.Forum.ThreadController, DotNetNuke.Modules.Forum</businesscontrollerclass>
   <compatibleversions>^[0-9]{1}[4-9]{1}.[0-9]{1}[4-9]{1}.[0-9]{1}[0-9]{1}$</compatibleversions>
   <resourcefile>Resources.zip</resourcefile>
   <modules>
    <module>
     <friendlyname>Forum</friendlyname>
       <cachetime>-1</cachetime>
      <controls>
       <control>
        <title>Forum</title>
        <src>Forum_Container.ascx</src>
        <type>View</type>
       </control>

As you can see above, I have higlighted the area that we are discussing here (I also didn't post the remainding section of the example .dnn manifest file). This node uses a regular expression to set the minimum DotNetNuke core version. You can test for a proper match at http://www.regextester.com/. The above example requires DotNetNuke 4.4.0 or greater. (Remember that DotNetNuke uses the xx.xx.xx format)

I believe this support has existed since DotNetNuke 3.3.6/4.3.6. (If not these, I know the x.x.7 series has this capability in there) If you add this node and someone tries to install in a verion prior to those, the check will not be done but the module install will fail because the schema for the manifest file in those versions had no idea what compatibleversions was. If someone tried to install the example forum in a DotNetNuke core 4.3.7, a message would be displayed about the core version being incompatible. If the version is compatible, however, the install process will complete as before.

Just a note, if you wanted to support a module on both 3.x and 4.x you can do something like:

^[0-9]{1}[3-9]{1}.[0-9]{1}[3-9]{1}.[0-9]{1}[0-9]{1}$

This means that 03.03.00 - 09.03.99 will pass and 02.02.02, 03.01.00 would fail.

Hope this comes in handy!

Comments

Comment Form

Only registered users may post comments.

NewsArchives


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