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.

Upgrading Issue Tracking for DotNetNuke: Take 2

Gemini In December the DotNetNuke project made a large upgrade to our issue tracker which had been stuck on an old version for the last couple of years.  We have been using Gemini from Countersoft for the last 6 years and it has served us well.  Unfortunately, earlier versions were having performance problems with the amount of issues we were tracking across all the module projects along with the Core framework.  Countersoft made a decision when moving from 2.x to 3.x to completely overhaul the security model.  If you ever had to use Gemini 2.x for a large project like ours you would have found that the task for migrating the old security settings was enormous.  We had over 40 projects each with security configuration affecting hundreds of users.  As a result of the shear amount of work involved, we avoided upgrades long past the time when an upgrade was warranted.

In December, we hired some additional staff on the Quality and Maintenance team at DotNetNuke Corporation.  At this same time we had made the decision that all of our module projects were going to move to CodePlex.  As a result we greatly reduced the amount of work required to perform the upgrade at the same time that I had new staff members who could be dedicated to the task.  As Phil Beadle indicated in his blog post, the initial upgrade to Gemini 3.5.4 occurred in early December.  This upgrade resolved some of our longstanding issues, but unfortunately it resulted in new issues which in many respects were just as severe as the old issues which required the upgrade to begin with.

Having just completed the DotNetNuke 5.2.2 release this week, we had a little downtime while we scope out our next release.  This was the perfect opportunity to work on fixing the remaining problems with the issue tracker.  After getting no-where with trying to troubleshoot the individual symptoms, we decided to just go ahead and perform an upgrade to Gemini 3.6 which added many new enhancements.

That is the best decision I have made in a while.  The latest version of Gemini appears to have resolved almost all of our outstanding issues (we still have an email issue to resolve).  In addition, I have to say that I am very impressed with the latest Gemini version.  This version not only resolved the performance problems we were experiencing, but it added in a ton of AJAX functionality which greatly simplified managing issues.

The following example highlights how the use of AJAX in Gemini greatly improved usability.  This is just one example, but there are many other places where Countersoft has used AJAX to great effect.  Today was the day we had set aside for reviewing outstanding bugs and identifying those that will be fixed in the next stabilization release that is due out in mid-February.  In the previous versions of Gemini, we would use the issue filters to identify all of the outstanding bugs to be corrected.  These issues would be listed in a large grid.  To add an issue to the roadmap for the next version, you would click on the issue link to bring up the issue details.  Then you would click a link to open the issue for editing which required a postback and a complete page reload.  At that point you would specify the version where you planned to fix the bug and press the update button.  Finally, you would click a link to return to the list of issues where you had started the process.  In total, the process required 4 different postbacks and page reloads.  Clearly this was not an efficient way to work through a list of bugs.

With Gemini 3.6, this process is greatly streamlined.  Now when I am looking at my list of outstanding issues, I can customize the columns that are visible in my issue grid.  For this particular task, I enabled the display of the Roadmap version in my issue list.  Since Gemini 3.6 includes full inline editing, I am able to click on an individual value in my grid and change the setting directly.  Once I have entered the correct value I can click a little “ok” icon and the value is updated.  The new process does not require a single postback or page reload.  What used to take minutes now takes seconds for each issue.  The real benefit of this feature is that now reviewing issues does not require a huge time commitment.  I can review and update an issue quickly and easily which increases the likelihood that I won’t fall behind in this critical task.

Overall, I am extremely pleased with this latest upgrade.  Not only have we gotten rid of the bulk of our performance problems, but we have received great new functionality in the process. 

The DotNetNuke team has long believed that the best way to move forward on a problem is one step at a time.  While it can occasionally cause difficulties, in the end we find that it provides the most efficient use of our resources.  I know that there may still be some problems with the current configuration but we are a 100% better off than we were 2 months ago.  If you find any issues, please don’t hesitate to post them here or in the forums and we will work on getting them resolved.


Technorati Tags: ,,


Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (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)
Timo Breumelhof (24)
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