Download DOWNLOAD
Forums FORUMS
Blogs BLOGS
Forge FORGE
Help HELP
Marketplace MARKETPLACE
DotNetNuke Home
You are here >   Community > Blogs
Register  |  Login

DNN Blog

Author: Philip Beadle Created: Wednesday, August 24, 2005 5:46 PM
My personal blog on DotNetNuke.

 

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.

Read More »

 

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.

Read More »

 

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.

Read More »

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...

Read More »

The Automation Test Project is well and truly underway now.  You can check out the progress we are making and the suite of tests that have been written to help with the Build Verification that now happens on every release here http://dotnetnukeautomation.codeplex.com/.  These tests test a set of scenarios that we need to ensure work every release, hence they get executed on a very regular basis which is tedious if you have to do it manually every time.  If you check out the project you will see there are...

Read More »

Over the past couple of years our issue database has been showing signs of age.  Searches often result in error messages, linking issues can cause server instability, and our general issue workflow has become unwieldy.  We are currently running an older version of Gemini because of some changes to the security model which has made upgrading a non-trivial issue.  To help resolve these problems, we have performed a complete review of our current issue tracking processes and have just completed an overhaul of our infrastructure to allow us to transition to the current version of Gemini.

Read More »

 

Read More »

Last week I attended Tech Ed Australia for the 5th time in a row and what a great time was had by all.  I did plenty of networking (really means beer drinking with delegates) and attended a bunch of cool sessions and I even delivered a lunch time session on my fave topics, DotNetNuke, Silverlight and RIA Services. 

I went to a bunch of Silverlight/UX sessions by Shane Morris (Microsoft) which were excellent and really brought home to...

Read More »

 

 

Read More »

If you just read the latest DotNetNuke news letter you will have seen that the new teams have been announced.  I'm very honoured to have been promoted to Trustee!!  How cool.  I have been working with DNN since it started way back when and have had a great time.  Recently I have been a bit quiet while I got the hang of being a dad, but now I’m back into it and hope to bring a lot of value to the project by crafting up a testing strategy and automated tests.

avatar-trustee

Read More »

 

Read More »

I have made a few changes to the AuthenticationService so that it can be used from any portal and child portals as well.  The previous post had a few hard coded variables to get the ball rolling. 

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Ria; using System.Web.Ria.ApplicationServices; using DotNetNuke.Entities.Portals; using DotNetNuke.Security.Membership; using DotNetNuke.Common.Utilities; using...

Read More »

A man in a hot air balloon, realizing he was lost, reduced altitude and spotted a woman below. He descended further and shouted to the lady "Excuse me, can you help me? I promised a friend I would meet him an hour ago, but I don't know where I am" The woman below replied, "You're in a hot air balloon, hovering approximately 30 feet above the ground. You're between 40 and 41 degrees north latitude and between 59 and 60 degrees west longitude." "You must be in IT," said the balloonist....

Read More »

Wow I turn away for a little while to be a new dad and then DNN gets over 700,000 users!  Pretty impressive growth.  Won’t be long before we hit the million mark.  We had a little prize for the 100,000th person who signed up, maybe we should get a prize together for the millionth.

To do automated web tests of your projects you can use a cool tool called Watin

“Welcome at the WatiN (pronounced as What-in) website. Inspired by Watir development of WatiN started in December 2005 to make a similar kind of Web Application Testing possible for the .Net languages. Since then WatiN has grown into an easy to use, feature rich and stable framework. WatiN is developed in C# and aims to bring you an easy way to automate your tests with Internet Explorer and FireFox using .Net.”

Once you have Watin you can then write tests like this that will open up your browsers go to the page you are working on, add values, click buttons etc and help to make sure your projects work as you expect.

/// ...

Read More »

I have been looking for a good way to add code to my blogs and Charles put me onto the Insert Code for Windows Live Writer plugin.  Works a treat.  Click the Read more to see how the code looks.

Check out Crafty Codes blog on how to set up the WLW with DNNBlog.

Read More »

New book out for DNN on Wrox Press, DotNetNuke Websites, Problem Design Solution.  I tech edited this book and thought it was pretty good in its creation of a story of building a site from scratch to a functioning DNN site.

Cheers

 

Read More »

I jsut had a look at the number of registered users and its 599000.  Thas really close to 600,000, I remember when we gave a prize for the 100,000th person to register, wow that was a while ago.

I have completed the template for VS2008 that I was building so I could build TDD DNN Modules easily.  Download it from Code Plex.  Here's how to use it.

The vbproj for the module has some modifications to allow you to develop outside the DesktopModules folder, see this post for details http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryID/1873/Default.aspx. ...

Read More »

Had a few requests for more details on how Im auto packaging and developing the Help.  So here it is.

xmlversion="1.0"encoding="utf-8"?>

ProjectDefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003"ToolsVersion="3.5">

     PropertyGroup>

          Configuration Condition=" '$(Configuration)' == '' ">DebugConfiguration>

          Platform Condition=" '$(Platform)' == '' ">AnyCPUPlatform>

          ProductVersion>9.0.30428ProductVersion>

...

Read More »

I have been rewriting the Help Module using Test Driven Development Techniques.  This means that I write a unit test or 4 for each piece of functionality.    The test results look like this:

I have been doing this for the SqlDataProvider and have been keeping my code coverage as high as is possible.  At the moment it is at 91%, this is because some parts of teh code will never be hit by tests...

Read More »

When releasing a Core Module we need to submit a package that contains the installable zip, a source zip, the release notes and the test cases.  Making this package can get tedious so I have created a MSBuild mod for my proj file.  This is an update on my earlier post.

In the last section of the proj file add this.

 TargetName="AfterBuild"DependsOnTargets="DeployModule">

 Target>

 PropertyGroup>

    ModuleFolder>TestDrivenDNNModuleModuleFolder>

    DNNDirectory>C:\DotNetNuke\Vault\WebsiteDNNDirectory>

...

Read More »

I am rewriting the Help module and am doing it TDD style.  As I was writing a test to check the adding of a tutorial to the db I realised that what I really wanted to do was not only add the tutorial but also the list of associated category IDs.  So I did a bit of research and came up with this.  There is now a new parameter on the Help_AddTutorial sproc that takes an xml field.  The XML is a list of the categories.  The XML is then parsed and added to a temporary table which is then used to add the multiple...

Read More »

When you build a DNN module using the template or from scratch you probably locate the project under the Desktop modules folder and start developing.  Doing this complicates source control and automated building in my experience so I wanted a way to build my modules in a separate folder away from the target host website.  Andrew Nurse dropped a snippet of a build script to me that copies the assemblies, pdb files and the rest of the files you need to debug your module on.  It copies the files marked as Content...

Read More »

Two things.

  1. Version 3.0.2 will be packaged and entered into the tracker tonight.
  2. Version 4.0.0 is under way.  The skeleton project with the testing framework has been checked into Vault and work has started on the automated test framework as well.

Cheers

Michael Kordahi aka the Delicate Genius is a Microsoft Developer Evangelist in Sydney, he inteviewed me about my ReMIX session last week check it out here http://delicategeniusblog.com/?p=682.

 

There is some free top quality training going on down Orlando way on the weekend between the two US Tech Ed sessions.  Check out http://www.openforce08.com/Home/OpenForceConnect/Orlando/Overview/tabid/115/Default.aspx for more details.  Looks like a great weekend of DNN, shame I cant make the trip for the 4th time this year :).

Let me know if youre going.

I'm speaking at REMIX. Are you? Just got this new bling for my Blog about ReMIX '08. Building Rich Internet Applications using Microsoft Silverlight 2

Read More »

Networks

Follow DNNCorp on Twitter

LinkedIn

Follow us on Twitter @DNNCorp or join the DotNetNuke Community on LinkedIn

Sponsors

DotNetNuke®, DNN®, and the DotNetNuke logo are trademarks of DotNetNuke Corporation

Hosted by MaximumASP