DNN Community Blog

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 community@dnnsoftware.com.


Was our release event of 05.02.03 a happy Event?

Experiences from the fields

Last week I blogged about the new release of DNN Events: version 05.02.03, which replaces the previous one (05.02.02) and is mainly a bug fix release.

Currently, we (Roger Selwyn and myself) have worked on 2 versions of Events: a bug fix release (05.02.03) and a new version (Events 6) for the DNN6 environment. And there is a story to go with it.

The start

The 05.02.03 was not planned, but came around when some small, but annoying, bugs popped up around the 05.02.02 release. About 3 weeks ago, Roger and I decided to do an intermediate, unplanned, bug fix release: 05.02.03. The problem was that we use CodePlex/TFS for our code repository and we have moved everything already to our alpha and published Events 6 release.

So we started again with the source pack of 05.02.02 and worked disconnected from CodePlex TFS for our sources (Note: we used DropBox to share our coding for this intermediate version). Roger did work on the bug fixes and also back ported some of the changes and enhancements from our Events 6 release back to 05.02.03.  I, in the mean time, worked on the SQL data scripts and made some enhancements for our automatic build and packaging tool to get it compliant for DNN5 installs. We have made a beta version of our bug fix release available on CodePlex, saw the download counter reach 40-50 download without any problematic feedback. So far so good.

We prepared our final Events 05.02.03 release and replaced the beta version on CodePlex. With confidence I changed the 05.02.03 version into a stable, preferred release of DNN Events.

The results: not a happy event

It did not take long before problems were reported: wrong DLL versioning. While Roger (who made the finale 05.02.03) was out, I created a new "stable" 05.02.03 and replaced the current  one on CodePlex. Again, not correct. Due to the Events 6 (DNN6 related) version in the works, some of the data script changes has slipped back into my "stable" version. Sh*t. Luckily, Roger was able to create a finale stable version of DNN Events 05.02.03 and also prepared a SQL repair script for the a few people around who suffer from our intermediate "work" (and do not do back-up's or testing before going live).

How did we do it before?

Release tracker - In the previous years, there was the DNN Release tracker process (which we did not like). Any core module release could take weeks if not months before it was formally released. However, the release tracker process would have saved us this time from the errors that we have made.

Special Events website - At the start of my involvement with the Events module (2007), we had a special website for distributing Events beta releases to users with real interest in the module. Users, who also gave us real feedback on any problems in the beta version. The current CodePlex beta downloaders do not give us feedback on beta version of the module.

Automated UI testing - At some point in time, we created automated test scripts with DejaClick, a FireFox AddIn with screen recording, replay and script editing facilities. This helped us to execute tenths of user scenario's automatically (creating events, editing settings, changing display formats, enrollments, approval, etc.). However, due to the dynamic nature of DotNetNuke (controls do not have fixed name but are dynamically generated) and the frequent releases of the core platform quickly made the management and editing of the tests scripts a daunting task. Back to manual testing which developers -and that includes us- do not really like to do over and over again.

My conclusion -  In Dutch (my native language) I would say: "Wet van behoud van ellende", which translates to something like "There is no such thing as a free lunch". We have not reached a level of getting enough feedback on the quality of our new version; if others test, it takes much too long before we can release; we are not able to execute easy maintainable automatic UI tests and we have unrealistic confidence in our own development quality (and/or do not like to repeatedly test the same things manually).

What do we want?

Roger and I discussed our experiences. We both are very committed to release high quality version of the Events module, and we have proven to be able to do so over the past years. The 120.000 downloads in total with an average of 50 downloads per day supports this.

We believe in the principle of automatic testing, so I will continue to look for testing tools that are really easy to work with, even in a dynamic environment like DotNetNuke. I am currently investigating Telerik Test Studio to see if this can work for us, and I am open for any experiences or suggestion from YOU on this point.

We also believe in the feedback of users (beta testers), but also realize that we have to trigger a response more actively. We are looking for a way of gathering names and email addresses of people who are really interested to test & provide feedback on new releases. The DNN Events forum? A Facebook page? Any suggestion?

What have we learned?

Maintaining high quality and bug free software is difficult and incorporates more work then you expect. And this reminds me on one of my statements in my PhD dissertation almost 30 years back: Making software and raising children have remarkable similarities: it take a lot of time and effort, only to find out in the end that there are bugs in the system that you have put in yourself.

Life has not changed much over the years.

Have fun with the new Events module. Looking forward hearing from you!


Comment Form

Only registered users may post comments.


September 2014 (11)
August 2014 (25)
July 2014 (17)
June 2014 (10)
May 2014 (6)
April 2014 (9)
March 2014 (3)
February 2014 (4)
January 2014 (8)
December 2013 (5)
November 2013 (2)
October 2013 (9)
September 2013 (10)
August 2013 (8)
July 2013 (4)
June 2013 (8)
May 2013 (13)
April 2013 (2)
March 2013 (7)
February 2013 (7)
January 2013 (10)
December 2012 (6)
November 2012 (20)
October 2012 (12)
September 2012 (27)
August 2012 (29)
July 2012 (22)
June 2012 (17)
May 2012 (23)
April 2012 (24)
March 2012 (27)
February 2012 (21)
January 2012 (12)
December 2011 (18)
November 2011 (20)
October 2011 (27)
September 2011 (17)
August 2011 (18)
July 2011 (45)
June 2011 (22)
May 2011 (23)
April 2011 (19)
March 2011 (36)
February 2011 (19)
January 2011 (22)
December 2010 (29)
November 2010 (37)
October 2010 (32)
September 2010 (43)
August 2010 (46)
July 2010 (37)
June 2010 (46)
May 2010 (29)
April 2010 (38)
March 2010 (27)
February 2010 (33)
January 2010 (34)
December 2009 (13)
November 2009 (20)
October 2009 (29)
September 2009 (18)
August 2009 (29)
July 2009 (19)
June 2009 (18)
May 2009 (23)
April 2009 (16)
March 2009 (13)
February 2009 (20)
January 2009 (25)
December 2008 (25)
November 2008 (29)
October 2008 (34)
September 2008 (33)
August 2008 (36)
July 2008 (31)
June 2008 (25)
May 2008 (26)
April 2008 (33)
March 2008 (31)
February 2008 (24)
January 2008 (18)
December 2007 (27)
November 2007 (51)
October 2007 (24)
September 2007 (32)
August 2007 (24)
July 2007 (20)
June 2007 (28)
May 2007 (27)
April 2007 (24)
March 2007 (47)
February 2007 (21)
January 2007 (41)
December 2006 (21)
November 2006 (16)
October 2006 (24)
September 2006 (36)
August 2006 (30)
July 2006 (31)
June 2006 (37)
May 2006 (13)
April 2006 (13)
March 2006 (18)
February 2006 (20)
January 2006 (13)
December 2005 (6)
November 2005 (15)
October 2005 (15)
September 2005 (16)
August 2005 (7)
April 2005 (1)
March 2004 (4)
February 2004 (6)
January 2004 (1)
November 2003 (4)
October 2003 (22)
September 2003 (22)
August 2003 (15)
July 2003 (14)

Copyright 2014 by DNN Corp | Terms of Use | Privacy | Design by Parker Moore Design