Learn More





DNN Community Blog

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.

Baby Steps


The ideal way to move open source projects forward is by frequently issuing updated builds during the course of a release. The expectation is that community members install these builds, trial the new functionality, and report back on how things work and/or make fixes to the updated code. A successful beta program engages the user community in helping to improve the product by identifying issues early in the development cycle. Unfortunately, expectations don’t often match reality.

Today there is too much friction for users. It’s not that there haven’t been community members interested in the updated builds. Rather, they’ve been reluctant to reinstall the product each time a new build is made available. Upgrading a site can involve lengthy testing to ensure that custom modules continue to work properly and that the site skin didn’t break due to a CSS change in the platform. Fortunately, the requirement to reinstall the DNN Platform each time an interim build is released is now a thing of the past.

Starting with DNN Platform 7.4.2 Beta and Platform 8.0 CTP 3, DNN supports the ability to perform incremental upgrades. This capability makes it possible for you to upgrade from a supported CTP or Beta release to any subsequent release. This feature operates using similar upgrade logic to the way upgrades have traditionally worked.  We have extended the versioning system for scripts and config files to include extra “increment” information so that we can more granularly track which changes have been applied.

If you are contributing pull requests for Platform changes, you just need to follow a couple of simple rules:

1. Put all your SQL changes into an incremental SqlDataProvider file (e.g. 08.00.00.xx.SqlDataProvider)

2. Put any configuration changes into a separate configuration merge file (e.g. 08.00.00.xx.config)

During the pull request processing, we will automatically adjust file names to avoid conflicts and ensure we are not applying the same changes in multiple incremental files.

With the incremental upgrade capability, community members can feel safe participating in CTP and beta testing on production sites knowing that they can safely upgrade to the final build. As always, however, we recommend doing a backup of the site before applying pre-release code. Also, take note that the incremental upgrade capability does not apply to nightly builds or Evoq products. We will address a comparable capability for modules and other extensions in a later DNN 8 CTP.


David O'Leary
I upgraded DNN 8.0 CTP3 to CTP4 today on a site that's in development. Worked great. Awesome!
David O'Leary Tuesday, September 01, 2015 2:46 PM (link)
Sebastian Leupold
the idea of incremental SQL scripts is great - but IMHO counter productive, as SQL scripts should be re-runnable and any version upgrade should re-apply improved script for same point release.
IMO, it would be more helpful to have pre and post script support, allowing versioning of database code (views, functions and procedures).
btw. would you mind to remove the duplicate code from current 07.04.02.sqldataprovider (I added a comment on GitHub) and pull PR #764, which completes a previous fix, thank you.
Sebastian Leupold Tuesday, September 01, 2015 8:22 PM (link)
Joe Brinkman
@Sebastian - I agree that scripts should be idempotent, but that only solves part of the problem solved by incremental scripts.
Joe Brinkman Wednesday, September 02, 2015 8:39 AM (link)

Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
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 (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (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)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?