Overview
The one constant in life is that there are no constants in life; Unless of course you count Pi, or Planck’s constant or the speed of light; but I digress. Everything around us is in a constant state of change. For many people, life changes can be very stressful. In fact, the mental health profession has long regarded the most stressful times in a persons life is when they are undergoing dramatic change. This is not necessarily a bad thing, since many of these stressful events are also some of most joyful events in our lives. Leaving home to go to college, getting married, the birth of a child and starting a new job are all stressful events that often lead to great reward and satisfaction.
This summer has seen DNN undergo a number of significant changes. We changed our branding, completely rebuilt the DNN website, launched Evoq in the Cloud, and released DNN 7.1. These are not the only changes that have occurred. Even as we have been making outward facing changes to our products and our business, we have also been making changes under the covers to improve the operation of our product and engineering teams and to improve our ability to interact with the community.
This spring our team determined that the project had outgrown the tools we were using for issue tracking and source control. While our tools worked well, they didn’t fit well with the processes we wanted to use for product development. We were often forced to change the way we worked to accommodate our tools. In addition, we had found that we didn’t have the level of transparency and openness in our development processes that we wanted and that our community had been asking for.
For these reasons and more we decided it was time to make the switch to tools which were more in line with our Open Source roots and that would better support the scrum and kanban processes that we used internally. We looked at a number of tools and quickly identified a new issue tracker and source control system which we felt would serve us and the community better than the tools we were already using. The tools we chose are well known and widely used in the open source world and would help us in our goal to become more open and transparent.
Issue Tracking
The first change we made was to move to a new issue tracking system. For the last several years the DNN project has used Gemini as our issue tracker. Countersoft has been a long-time supporter and sponsor for the DNN project and we are very grateful for all the assistance they have provided us over the years. Unfortunately, as our project and company grew, our processes changed. In the last couple of years we found that we started using other tools for some of our project and issue tracking, or we were forced to change our processes to accommodate the way Gemini operated. This was not very efficient for the team and it was time for us to explore other options.
After looking around and talking to a number of different companies, we finally settled on an issue tracker from Atlassian called Jira. Jira is an issue tracker which supports both the scrum and kanban processes that we use within DNN Corp. It is fast, flexible, and provides our development teams with everything they need to keep our projects on track. In addition, Jira offers Jira OnDemand which is a cloud hosted version of their product. Jira OnDemand simplifies our IT management and allows us to just use the product without worrying about server or application maintenance.
You can reach our new issue tracking system at https://dnntracker.atlassian.net/. The old URL (http://support.dnnsoftware.com) will automatically redirect to our new home. Please take a few minutes to check out the new system. You should find it very fast and easy to move around.
Source Control
In addition to changing our issue tracking system, we also moved to a new source control system. For the last 10 years, DNN has used a number of different source control systems. Three years ago we switched to Team Foundation Server (TFS) internally. TFS is a very powerful system that is also very flexible. Unfortunately, it also comes with a steep learning curve. Also, because of the TFS security model, it was not open to our community. We have tried to supplement TFS by syncing code changes to CodePlex, but this process has been problematic and unreliable.
As a company founded around an Open Source product, and with a distributed team, we wanted a new source control system which better matched our team. It was also extremely important to us that the system support both public and private projects so that we could open the DNN platform repository while also allowing us to keep other projects private. When we looked at all the requirements it was obvious to the team that Git was the right source control system for our distributed team. As one of the leading Git providers, we felt GitHub would be a great tool for us and our community and in fact have had several community requests to migrate to this tool.
Although we have transitioned our repository to GitHub (https://github.com/dnnsoftware/Dnn.Platform) we plan to continue using CodePlex (http://dotnetnuke.codeplex.com/) as our primary release management tool. We have a great working relationship with the CodePlex team and have a number of processes which are setup to use CodePlex which would not be easy to move to GitHub. Once we work through a few more issues we plan to setup CodePlex as a clone of the GitHub repository so that community members who are comfortable using CodePlex will be able to continue using that site.
Summary
Change is an integral part of life. It is also an essential part of any software project. Over the years DNN has seen a lot of change, some large, some small, but all of the changes were made with the intention to improve the product and the project. I hope you will take a few minutes to check out the new issue tracker and source control systems. I think you’ll find they are a positive step forward for the project.
Things alter for the worse spontaneously, if they be not altered for the better designedly. -Francis Bacon