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.

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 »

I will be presenting at ReMIX Australia '08 in Sydney and Melbourne in May.  Check out the details here

http://www.microsoft.com/australia/remix08/index.aspx

Got my email this morning reawarding me MVP for another year.  Now enough of that time to get back to finishing the TDD DNN Module template.

I have now nearly completed the module.  Tests are now in place for all layers and cover

  • 100% of the testable code in the Edit part of the module
  • 100% of the Controller
  • 100% of the testable parts of SqlDataProvider

You can check out the code solution at http://www.codeplex.com/TestDrivenDNNModule

I'll write the rest of the tests ASAP.

When you are developing a DNN module you have access to a bunch of properties in the core framework such as UserID, ModuleID and LocalResourceFile.  When you start developing modules using Test Driven Development (TDD) you still need access to these properties which means we need to be able to access them from  the presenter class.

The presenter class has a construct like this



        Public Sub New(ByVal _View As IViewTestDrivenDNNModule)

            View = _View

           ...

Read More »

I drew this up to help give an understanding of how the testing of DNN Modules is going to work for my TDD DNN Module template at CodePlex.



This diagram shows how each level of a DNN module can be unit tested using RhinoMocks to generate the mock objects.  It also shows where I will be driving the integration testing and...

Read More »

In my day job I and my teams write unit tests for all of our code and we write our projects to be testable, this gives great benefits and actaully makes your projects go faster.  My current porject has a code coverage of 80%+ and we have nearly 800 tests written already.  The really cool thing about having Unit tests for all of your code is that when you or someone else needs to cahnge some part of the solution you simply run the tests afterwards to make sure you didnt break anything elsewhere.

The other...

Read More »

Well sorry to say I ran out of time trying to get the servers setup and run a few tests on DNN before I had to give them back.  Ill try again with a virtual setup soon.

I am working at Microsoft at the moment and every two weeks we have a Tech Talk at lunch time.  Today was my turn and I presented a longer version of my OpenForce session on Silverlight.  You can watch the whole recording here.

https://www112.livemeeting.com/cc/microsoft/view?cn=&id=DG4DCB&pw=&extreg=done

Cheers

...

Read More »

One of my favourite clients (he let me ride his new motor bike) created this comparison grid when they were deciding on a platform for the future. They chose DNN of course. This is the list of CMS's they investigated. AxCMS.net Cuyahoga DotNetNuke mojoPortal MOSS 2007 OXX Publisher 3 Powerslave ECMS QuickerSite Rainbow redcms(c) Sitecore V5 Smartsite CMS TrioVis.CMS umbraco VWD-CMS The table is very comprehensive and should serve you well when talking to your clients.

Read More »

I just noticed that if I create a new WAP Module in VS2008 and run it up I keep getting this error dialogue.

If I allow it to add the web.config it works but then I get the typical 2 web.config files error.  once its deleted the module works and debugs OK but it wont restart on the next F5.

Anybody got a solution for this?

After OpenForce '07 Lorraine and I went to New York, wow what a great city we had an amazing time and will definitely visit again.  We went to the Museum of Natural History to check out the dinosaurs and other exhibits and I found this cool clock that shows the different eons of time.  I love how the Precambrian era is the first of the defined ages of time and I think that the choice of "Cambrian" as the name of the next version of DNN is wonderful.



...

Read More »

Thanx to everyone who came and said hi to me at openForce and were asking about my web farm project.  Well my IT gurus at Readify have got the OS installed so my next step is to hook them all together and get DNN 4.7 installed and start working on a test plan.  Thanx again for letting me know that people are interested in this side project.

WOW!!  How much fun was OpenForce '07?  This has been one fo the best conferences I have ever been to.  Its been awesome to meet face to face with a huge cross section of the DotNetNuke Community and finally put a bit more of a personality to the Forum posts, IM chats and emails.  Everyone I have met has been really cool to talk to and hang out with.

My session on Silverlight and DNN went over very well and I got lots of feedback saying it was enjoyable and informative.  Its a really exciting new technology...

Read More »

I have not been able to install the OS properly so I have called in soke people at Readify to help me out.  Should have a running server soon.

Lorraine has finished the new DNN Help for DNN 4.6 and it is now online at http://www.dotnetnuke.com/Resources/Documentation/DotNetNukeOnlineHelp/tabid/787/Default.aspx.  The PDF will be available soon from the Marketplace.  The DPF is now 680 pages!! Very comprehensive.

I had an idea on the weekend.  In the FileBasedCaching provider the file locking comes about when two servers try to write the CacheFile at the same time.  This occurs because both servers have reloaded their own caches and need to create the dependency file.  Since both servers are trying to do exactly the same thing I thought that a Try Catch block around the code would allow the provider to work correctly.  The catch would jut have a comment that another server is trying to create the same file.

I...

Read More »

I have seen a lot of people having issues with the FileBasedCachingProvider when using the Web Farm features, so I figured i hvae a go at building an alternative.  My idea was to push the cache invalidate message to each server in the farm via an asynchronous call to an aspx?key=cachekey page.

Works ok however it is too slow, i could speed it up by using WCF and maybe Peer channel but I have opted to switch tactics and start on a SQL Dependency Provider.  The idea here is replace the File writing parts...

Read More »

OK so next step is to reinstall the OS so i know exactly where I am with each machine in the stack.  I started installing the OS by using a cool tool for Vista 64 called ISORecorder.

I'm installing Windows Server 2003 R2 Standard Edition x64 on the Dual Xeon which will be the SQL Server, Windows Server 2003 R2 Standard Edition on the File Server and Windows Server 2003 R2 Web Edition on the 3 web servers.  the final machine I am going to slave out at this point and may use it as a slave to run the tests from.

...

Read More »

A good friend of mine Mark has been kind enough to lend me a complete web farm that I am going to set up as a DNN test bed to do some testing of DNN in a web farm scenario.  The testing conducted by the Core Project so far has not specifically targeted web farms and there are some issues that have been raising their heads that I hope to deal with.

The servers arrived yesterday and I have unpacked them and created the DotNetNuke Stack :).  Since I don't have a spare rack in my home office I have used the...

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