Microsoft Press have just released an e-book on Visual Studio 2008 technologies and are giving it away for free. The e-book includes excerpts from three recent book releases and provides a wealth of information and insights from top experts:

Look here

Henry Cordes
My thoughts exactly...


New webhost and blogging engine

Published 12/17/2007 by Henry

My former host stopped, so I moved.
This gave me the opportunity to try another blogging-engine. I always liked dasBlog, but wanted database support (no xml files on the server anymore...).

So I will let you know about my findings in the coming months.

I used the information in a blogpost from Ayende Rahien to migrate from dasBlog to subText.

Henry Cordes
My thoughts exactly...


ASP.NET MVC Framework

Published 10/27/2007 by Henry in ASP.NET | Patterns

On Scott Guthrie's blog I saw that there is going to be a framework to build ASP.Net applications using the Model View Controller pattern.

What is the Model View Controller Pattern?
The MVC design pattern provides the ability to vary different software components separately. The pattern improves the software robustness and reusability.
The MVC pattern helps the software designer to fulfill the object-oriented design principles, such as the Open Closed Principle(OCP).
The idea of the OCP is that developers must decide early on in the analysis or design phase which parts of the system will be expanded later and which will stay fixed.
According to the OCP principle, the design is extended by adding new code and classes by inheriting existing base classes rather than modifying the existing ones.
Completed and tested code is declared closed, and it is never modified.


Classic design pattern Model View Controller
  • Model: Contains and manipulates the data in the program.  These are the components of the application that are responsible for maintaining state.  Often this state is persisted inside a database
  • View: defines how the data of the model is presented to the user; the view forwards received commands and requests to the controller. These are the components responsible for displaying the application's user interface. 
  • Controller:Defines how the user interface reacts to received commands and requests. These are the components responsible for handling end user interaction, manipulating the model, and ultimately choosing a view to render to display UI.  In a MVC application the view is only about displaying information - it is the controller that handles and responds to user input and interaction.

The idea is that the Presentation layer (GUI) easily can be switched from for example an ASP.Net web user interface for a windows Forms user interface.
The discussion if this is practical and will be used in real world applications always comes up when discussing this pattern.
When we switch the UI for a Unit test framework, this discussion is almost always turned over in favor for the pattern, because (Unit)testing ASP.Net Webpages can be quite cumbersome at times.
So just for the sake of (unit) testing our code alone this pattern can really add value to our work as developers.
The maintainability of the code should benefit also, because all the layers of our application are really separated and encapsulated.

The ASP.NET MVC Framework will be fully integrated with ASP.NET, which means it supports existing ASP.NET features like forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture, etc.
It will be pluggable and extensible for example: you can optionally plug-in your own view engine, routing policy, parameter serialization, etc. 
It also supports IOC container models (Windsor, Spring.Net, NHibernate) for using existing dependency injection.
You can unit test the application without having to run the Controllers within an ASP.NET process (making unit testing fast).
You can use any unit testing framework you want to do testing ( NUnit, MBUnit, MS Test).

I really am interested and will try to follow this, frankly I can't wait to try out a CTP.

Henry Cordes
My thoughts exactly...


Being curious about Visual studio 2008 I wanted to try the VPC with the Team Suite edition on it (Visual Studio Team System 2008 Beta 2 Team Suite (Virtual PC)).
After all the beta trouble with Visual Studio 2005 and SQL server 2005, my feeling is that VPC's are very good to try out a beta version.

So I downloaded the VPC (7 parts) from my MSDN Subscription.
It's a 11 Gigabyte download so it took a while, finally the download was ready.
I fired up Virtual PC 2007 and started to add a new excisting VPC, all went well untill I wanted to start the VPC.
The following message appeared:
"The parent virtual hard disk has been deleted or has been movedfrom it's previous location. Please select the new location of the parent virtual hard disk."


The parent virtual hard disk has been deleted or has been moved from it's previous location. Please select the new location of the parent virtual hard disk

Ofcourse the Base01.vhd is not on my machine. When I clicked the Cancel button the following message appeared:
"Virtual PC was not able to create an undo disk.
Please verify that you have sufficient privileges to write to the virtual machine configuration directory, and that the physical hard disk containing your virtual machine configuration is not full. If the virtual machine is attached to a differencing virtual disk, please verify that he virtual hard disk's parent was not modified without using the differencing virtual hard disk."

Virtual PC was not able to create an undo disk. Please verify that you have sufficient privileges to write to the virtual machine configuration directory, and that the physical hard disk containing your virtual machine configuration is not full. If the virtual machine is attached to a differencing virtual disk, please verify that he virtual hard disk's parent was not modified without using the differencing virtual hard disk.
Virtual PC was not able to create an undo disk.

The VPC was closed.
I really did not know what to do next. So I asked my uncle Google once more...
I found out that Microsoft also offers a version of the VPC to non- MSDN Subscribers: Microsoft Pre-release Software Visual Studio Team System 2008 Beta 2 Team Suite (Virtual PC).
On this page a >VSCTPBase.vhd can be downloaded. Now when I start the VPC I point to the downloaded Base Image when the 'Select File' window appeared, the message "the Virtual PC was not able to create an undo disk" appeared, but the VPC works!


Henry Cordes
My thoughts exactly...


CRM 3.0 Import bug IE7

Published 8/17/2007 by Henry in CRM
Tags:

On my first CRM job I ran into an issue.
When running CRM in Internet Explorer 7.0 the import of customizations does not work as expected.
Everything works fine up to the point where you do the actual import.
CRM starts with the import and shows the following message (I work with a Dutch CRM version "Aanpassingen importeren" means something like: "Importing Changes"):

Importing changes
Importing changes...

All goes well you should think...
Well this message stays on the screen forever, if you don't click the 'X' in the upper right corner. As you can see on the image, the OK button stays disabled.
I found out that the import works, but it is very irritating when you do not know for sure that the import has finished.

Microsoft has made a hotfix for this issue, but you need a Microsoft Account to get the fix.
If you got a PatrnerSource Account you can navigate to the following page: https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;927667#EQADAAA

The text on the Microsoft page:
The Import Customizations Web page does not close as expected when you try to import customizations in Microsoft Dynamics CRM 3.0 after you install Internet Explorer 7.

SYMPTOMS
You install Windows Internet Explorer 7. Then, you try to import customizations in Microsoft Dynamics CRM 3.0. However, the Import Customizations Web page does not close as expected after you click Import All Customizations or Import Selected Customizations. Additionally, the import process is not completed.

RESOLUTION
A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Microsoft Dynamics CRM 3.0 service pack that contains this hotfix.

Henry Cordes
My thoughts exactly...