Thursday, 11 September 2008

Versioning Workflows

A while ago i had a project where i used Windows Workflow Foundation. Fantastic tool but i hit several issues with it that put me off using it since. One of these issues was the complexities of hosting in iis and the other was the versioning of workflows. At the time i could not find any information to help me with this so did what i though was best at the time.

Today i noticed a blog post which covers the perfect solution to workflow versioning. You can read it here over at the problem solvers blog.



Here was my solution to compare - which wasnt ideal but sufficed at the time.

What i thought i needed to do was create a new copy of the workflow (at design time) and deploy both versions. This was fine but the next issue i had was how do i copy a workflow and make some changes. Heindsight says this was a bad move but it didnt jump out at me at first. Anyway.. I ended up copying the workflow xaml xml and changing the xaml to a new type - V2. And this actually worked!

Now i had old and new versions of the workflow and could make my changes and deploy.

The next issue i came across was code that was hooked into the workflow, i.e. any services/classes that made use of the workflow. You had to change the code to tell it what version of workflow to create, that was easy but then if you had referred to the workflow at any point in your classes, and this had been removed/changed then it would obviously break.

Thursday, 4 September 2008

Getting Virtual Server 2005 R2 to work on Vista

Had a bit of a nitemare getting this to work properly but eventually got there.

First make sure you go into the Enable Windows features and switch on the following:

Under Web Management Tools enable:
IIS Management Console

Under IIS 6 Management Compatibility enable:
IIS Metabase and IIS6 configuration compatibility

Under Application Development Features enable:
CGI

Under Common Http Features enable:
Default Document
Directory Browsing
HTTP Errors
Static Content

Under Health and Diagnostics enable:
HTTP Logging
Request Monitor

Under Performance Features enable:
Static Content Compression

Under Security enable:
Windows Authentication

Then install Virtual Server.

Once installed open up the administration website in IE using the following link:

http://yourmachinename.yourdomain/VirtualServer/VSWebApp.exe?view=1

ALSO ENSURE YOU RUN IE as Administrator!!!!! This is a biggy and is what stumped me for ages! If you dont you will get the following error message:

Could not connect to Virtual Server. Access was denied.
You can specify an alternate Virtual Server below.

Also note that when you signed in you will have to login the following way:

username@domain

or domain\username

If you try and login with just username it will fail and give you the machinename.domain/username in the popup. This will still not work until you remove the machine name part.

Hope this helps you out.