DNN Blog

Author: Philip Beadle Created: Wednesday, August 24, 2005 5:46 PM RssIcon
My personal blog on DotNetNuke.
By Philip Beadle on Thursday, July 14, 2011 10:56 AM
This is a quick note to let you all know about www.specflow.org and to get you to check out the video by Steve Sanderson.  I have been investigating using this approach with DNN and have been able to quite easily implement this because we already have hundreds of tests written in the automation project!  All I did was drop the DotNetNuke.Tests.UI.WatiN.Common and DotNetNuke.Tests.UI.WatiN.Utilities projects into...
By Philip Beadle on Friday, July 08, 2011 10:09 AM
Kordsy or delic8genius as he is known is a DPE for Microsoft Australia and he’s collecting Geek origin stories for some sinister plan at Tech Ed so I thought the best place to write mine up was on my DotNetNuke blog. So where did all this begin for me.

My earliest recollections about being a geek are back in the ‘80s – yes I’m that old.  My dad worked for Channel 2 TV in Australia and ran a side business of fixing TV’s for people so our shed...
By Philip Beadle on Thursday, May 05, 2011 6:35 AM
At DotNetNuke we distribute many different packages each release including source packages for the Community and our Professional and Enterprise customers.  Internally we have an overarching solution file that contains all of the projects that we work on each day, this solution file also contains all of the unit tests.  When we distribute the source packages we distribute solution files with and without the unit tests as well as a VS2008 formatted sln file and a bunch of variations for Pro and Enterprise customers,...
By Philip Beadle on Thursday, May 05, 2011 6:08 AM
As part of our internal build process we increment the last number on the build number by one each time the CI build runs.  Sounds simple right but I couldn’t find anywhere that did this simple task so I wrote one myself.  The code below works for VB and C# files and simply takes the AssemblyVersion number out of the provided AssemblyInfo.cs file and increments the last number.  It also provides formatted build numbers, the revision and the new build version as outputs.  You can also specify what you want the...
By Philip Beadle on Monday, March 07, 2011 10:23 AM
One of the first reasons we decided to start using NDepend was to be able to compare the public API from version to version so we could try to stop any breaking changes.  To do this you need to compare a previous build’s NDepend analysis with the current build.  I created a baseline analysis on the released 5.6.1 code base.  I then set my current build’s baseline analysis to the 5.6.1 one and reran the analysis as part of the CI build.

This of course broke the build!  The build broke because the rules...
By Philip Beadle on Friday, March 04, 2011 11:00 AM

I was trying to use the free NCover version but I keep getting stuck with this issue that appears to have been fixed in the paid for versions.

http://www.ncover.com/forum/show_topic?id=717

If anyone knows how to get around this issue I’d love to hear.

By Philip Beadle on Thursday, March 03, 2011 3:08 PM
Next task was to get a NDepend report done for each CI build.  Sounds easy enough and it was once i figured out how to stop breaking the build with NDepend.  We had 3 critical rules breaking that had been marked to break the build.  To get a report out I needed to turn off the breaks.  Once I had that done a nice HTML report is now right in the CruiseControl.Net interface for each build.

image

...
By Philip Beadle on Thursday, March 03, 2011 2:06 PM
Recently Patrick Smacchia from NDepend graciously gave DotNetNuke Corp a pro license of NDepend whic I have been investigating how to use it to achieve some of the engineering teams goals such as reducing cyclometric complexity.  One of the immediate benefits was that NDepend showed that one of the projects was not building correctly according to how we have the build setup.  The UI shows a red alert symbol next to the DotNetNuke.Professional.FileIntegrity.dll indicating that the version of the dll in the bin...
By Philip Beadle on Monday, February 21, 2011 3:25 PM
I have updated the script a bit (thanx Rob Chartier) so it works more reliably on the read only attribute.

Here’s the script.

 

$folder = "C:\DotNetNuke\Team Foundation Server Projects\DotNetNuke\src\Branches\DotNetNuke_5.6.2" cd $folder

attrib -r *.* /s

$connectionString = "Server=(local);Database=DotNetNuke;Integrated Security=True" $webConfigPath = "$folder\website\web.config" $xml = [xml](get-content $webConfigPath) $root = $xml.get_DocumentElement() ...
By Philip Beadle on Thursday, November 11, 2010 7:23 AM
This is a quick note to show you how to build your MSDN style docs using Sandcastle and MSBuild.

You will need a Sandcastle Help File Builder Project (DotNetNuke_Documentation.shfbproj ) and MSBuild.  Check out the blog post by Ernst Peter Taminga here.

Once you have that created you can call MSBuild and build the Sandcastle project with the following line.



...
By Philip Beadle on Thursday, November 11, 2010 5:49 AM
One of the big tasks each release is to make sure that the packages we release have all the correct files and no “extra” files.  Doing this manually is quite tedious and since i don’t like tedium and i love to automate tasks I developed a method to compare the newly generated packages with the last released package using Beyond Compare.  Once I figured it out it was quite a simple solution which I’d like to share so you can look at doing it for your own modules, skins etc.  The idea is to compare the contents...
By Philip Beadle on Wednesday, September 15, 2010 9:44 AM

I jsut updated the Wiki with the step by step instructions on how to set up the Build Verification Tests.  Check it out.  These tests are now being executed as part of the build process.

By Philip Beadle on Thursday, July 01, 2010 11:11 AM

Just a quick note to point you to a good blog post on how to set up your machine so you don't have to keep logging in to different TFS instances.  I log in to 2 CodePlex TFS instances, the DNN TFS instance and a local one on my setup and I never have to login.  So follow this tip http://blog.prabir.me/post/Save-Team-Foundation-Server-Password.aspx

By Philip Beadle on Tuesday, June 15, 2010 6:18 AM
I was fortunate enough to be invited to speak at ReMIX Australia on my favourite subject, DotNetNuke!  This was the first time I have done a session that actually had slides and no Visual Studio code, so it was a bit nerve racking as i couldn’t rely on the coolness of new stuff to carry my session.  I spoke about the evolution of DotNetNuke from a code example to a worldwide project/product.  I also spoke about working in an open source...
By Philip Beadle on Wednesday, June 09, 2010 9:19 AM
The next release of DNN is going through QA at the moment and we have fixed 28 issues (remember you can always see what we have planned for the next few release by checking the roadmap http://support.dotnetnuke.com/Project/Project.aspx?PROJID=2&Tab=Roadmap), 8 of which were contributed by some fantastic community members who I’d like to personally...
By Philip Beadle on Tuesday, June 01, 2010 6:39 PM

Just a quick note to say thanx to everyone who came along to  my session at #ReMIX.  I’ve had lots of you come up and say you enjoyed it and were inspired to try some open source projects including DotNetNuke.  So my goal was achieved.  The video of the session will be up online soon so I’ll post again when that’s ready to go.

By Philip Beadle on Thursday, May 27, 2010 9:22 AM
I will be speaking at ReMIX Australia next week about my favourite subject DotNetNuke!  I’m really excited about this session because not only was I invited to speak instead of competing for a spot but for the first time ever I’m not going to open Visual Studio, this whole session is about the life and times of DotNetNuke and open source in general.  I’ll be twittering throughout the rest of the event so you can follow me on @philipbeadle if you’d like to keep up with the news.

240x320...
By Philip Beadle on Tuesday, May 25, 2010 10:49 AM
The QA Team is getting some excellent traction.  The Testable DNN Module that I updated to use the WebFormsMVP pattern that is now included in DNN is the focus for the team now.  Our aim is to have it ready as a starter kit for the next feature release of DNN.  The module is complete and now we are concentrating on the Unit Tests.  These need to be refactored from how I had...
By Philip Beadle on Friday, May 21, 2010 10:18 AM
Now that DotNetNuke 5.4.2 is out the door we are starting on the issues in the 5.4.3 Roadmap.  We have included quite a few community code submissions in the last couple of releases and we’d like to include more community code in 5.4.3.  You can submit your code fixes through Gemini as I detailed here, or you can also make use of the open repository we maintain at CodePlex and use SVN to submit a code patch.  I’ll show you how to do that in this post.  CodePlex will notify us that a patch has been submitted but it also a great idea to add a comment to the issue in Gemini as well so we can keep track of who is submitting code fixes.

...
By Philip Beadle on Thursday, May 20, 2010 1:46 PM
In the latest release of DNN 5.4.2 you will find there is now a VS2010 solution and a VS2008 solution file.  The VS2010 one is the primary solution that we use internally to build DNN.  If you look in the module projects folders you will see there are two proj files for each project now.  The one with .VS2008 in the file name gets opened when you use the VS2008 solution.  The reason for this is that the upgrade to VS2010 touches the web application project files and changes the target used to



...
By Philip Beadle on Tuesday, May 11, 2010 2:11 PM
Hi DNNer’s

We’re looking for some talented developers who believe that quality of software development is vital.  We need some help to write more automation tests and to finish off the Testable DNN Module solution.  So if you’d like to help out and make a name for yourself email me and we can talk about it further.

If you’d like to see what the Testable DNN module is and how to use the WebFormsMVP pattern check out my blogs on it here.

By Philip Beadle on Friday, May 07, 2010 6:37 AM

Quick note to spruik my new book Silverlight For Dummies, you can buy it all over the net and at good book stores.

By Philip Beadle on Tuesday, May 04, 2010 9:54 AM
Recently we have gone through the support system and found any bug fixes submitted by the community and incorporated those fixes into the code base.  What we would like to do now is to get you all to help out and submit more bug fixes for the items in 5.4.2 roadmap.  The idea is to target your efforts at the items that have been triaged for the next stabilisation release and knock them all off.  To do this please attach your...
By Philip Beadle on Friday, April 16, 2010 10:54 AM
In Part 1 I set up the standard Starter Kit module to use interfaces and be more testable.  In Part 2 I will implement the MVP Pattern using the Web Forms MVP project that is now included as part of DotNetNuke.  The following code samples assume you are using DNN 5.4.  There are a few changes from DNN 5.3 that make it easier to write tests and get around an issue with Windsor Castle’s problems with classes that implement more than one interface.

In Part 1 I listed the classes and interfaces we will need. ...
By Philip Beadle on Thursday, April 15, 2010 9:51 AM
I wrote this script to help me be able to quickly run up a new auto installed DNN site from a zip file.  Check it out and please use yourself.  Remember that your Powershell host has to run as Administrator.

#cd "C:\DotNetNuke\ProReleases" cd "C:\DotNetNuke\Releases" $CurrentLocation=get-location

#$CEorPE ="Professional" $CEorPE ="Community" $version="050400" $ZipFile = "$CurrentLocation\5.4.0\DotNetNuke_Community_5.4.0.94_Install.zip" $websiteName = "DotNetNuke" + $CEorPE...
By Philip Beadle on Monday, April 12, 2010 12:42 PM
This morning at the QA team meeting we discussed the Testable DNN Module and its use of Webforms MVP to make it testable.  During the conversation we decided we needed some step by step information on how it all ties together in a “Michael Washington” style tutorial.  Charles Nurse has written up a great post on the theory behind the...
By Philip Beadle on Wednesday, March 17, 2010 12:54 PM

 

Over the last few days I have been refactoring my TDD Module to use the new Web Forms MVP code that is now baked into DNN.  The structure of my TDD module was based on the MVP pattern so the refactoring hasnt been too difficult.  With a bit of help from Charles I have it nearly converted.  The next step is to rewrite the tests.  Im going to be using Moq as the mocking framework so there will be a lot less code as I wont have to worry about the hand coded mocks I had before.

After that I'll address the automation tests giving a complete example of how you can build a fully tested and testable module. 

You can download where Im up to from CodePlex, email me if you'd like to contribute.

By Philip Beadle on Thursday, February 25, 2010 12:36 PM

 

It has been a goal of the DNN project to be able to allow developers and anyone interested to download the latest source code from CodePlex without affecting our internal operations.  To do this I have created a CruiseControl.Net project that synchronises the source code in our internal system out to CodePlex on a daily basis.  If you check out the Source page for the project you will see the following today:

image

Each time the source is updated by the CruiseControl.Net project you will an entry from dnnsvn user. 

The source code in the repository is slightly different from the downloaded source package.  The downloaded source package has the automatic packaging of the modules and providers removed so that when you open the solution you don’t see this security prompt:

image

This prompt shows up because I have used the very cool and useful MSBuild tasks available from the MSBuild Community Tasks Project.  The task I am using is the zip task which is used to package up the files for the installation packages.   So if you do download the code please select “Load Project Normally” when you load the solution.  The packaging only happens when you build in Release mode.  Also don’t forget to change the name of either the release.config or development.config to web.config before you build the solution.

By Philip Beadle on Wednesday, February 24, 2010 9:21 AM

 

The automation tests now have the ability to test if an email was sent correctly. To run the Email Configuration test you will need to update the “TestEmailPath” value to match the name of the subfolder you created eg  “D:\Tests\TestEmails”

For the Email Configuration test you will need to add a file to the “Packages” folder. The file is called “mailDrop.xml” and is located in the “Support Files” folder within your project. Copy this file into your “Packages” folder. Open the xml file in a text editor, update the value for “pickupDirectoryLocation” to match the path of your “TestEmails” folder, ex. “D:\Tests\TestEmails”. Save the mailDrop.xml file.

Please download the project from http://dotnetnukeautomation.codeplex.com/ and join in.

By Philip Beadle on Monday, February 22, 2010 3:54 PM
The DotNetNuke Automation Testing project is available on CodePlex at http://dotnetnukeautomation.codeplex.com/ and is welcoming testers and developers and anyone else who would like to contribute to try it out and write your won tests based on the style we have set up.  To get started you will need to set a few variables and create some folders.  Stefan did a nice post on it a few weeks back...
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me
Have Someone Contact Me
Charlotte DoDNN

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Telerik JustCode Free
Exact Target Exec Alert
PowerDNN

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.