October 2006 - Posts

VSS and daily builds

Ah, the joys of the mighty incomparable Visual Source Safe. In combination with VS2003 Web Projects and IIS it can send any developer over the edge of Mount Doom. It wields more power and more malice than Sauron himself.

Sometime ago we had so many problems with VSS and web projects we were actively considering moving to Subversion  (this is at my client site, in my own company we saw the light long ago and moved out of VSS to CVS and now SubVersion, but thats another story). Im keen on using TFS but thats in an evaluation phase now and since we are still working on a .NET 1.1 project (with Biztalk04) we had to make do with VSS. Just when we were about to setup the SVN repository some of the folk on the team felt comfortable that we had found a workaround with VSS web projects and so we dropped the move. Bad mistake. Now we are sort of nearing the end of the current phase of the project and were working on the build scripts. We are not yet into the CI world, its still in the automated build stage (or actually, the half automated build stage because of the aforementioned glorious product). The scripts reported some build failure in one application so  we happily opened VS to check it. Boom.. first error. VSS doesnt like you opening solutions directly like that. It has to be done through the "Open From Source Control" mechanism. This messed up the solution for a bit but we eventually  got a few projects open and corrected some of the issues. For instance I couldnt keep my solution files in their own folder because there was a MSI project in the set and it complained that the MSI project was in a different part of the structure from the solution, so i had to recreate the entire source tree for that section. Thank goodness for the GDN SourceSafeBindingRemover app. It let us make several passes at re-setting up the tree.

Set the build up again and yet another crash. This time, no matter how we tried to open the solution, IIS wouldnt let us. It just kept throwing vague errors about being unable to find the csproj file. We tried for 4 hours (including reinstalling IIS) but no luck. So finally we gave up and for that one project we put in a file copy task to get the code from a file system backup. It was rather sad and we didnt wanna do that, but there was no way to get beyond this error. The build scripts are back on track and we'll keep them that way till we can move to TFS or maybe back to SVN. Anything to get away from this monster.

One thing i hate most about VSS is the way its a sort of control freak. As long as you let it dictate the place you store your web app files (and keep them in wwwroot, away from the rest of your code base) and let VS create the solution folders in whatever way it knows best, its all fine. The moment you try to create a disciplined source tree and keep your web projects together with the rest of the code, thats the start of all suffering. I used SVN in a previous project and never heard a murmur from the system. It just worked!! In the old days, when i started out, (in 1996) we used VC 1.52c and VB4 and VSS was fine for all that (with small teams of course), but when web apps came out, they should have done some thorough revisions, especially when you have seriously good open source competition. Its amazing that after so many years, MS still hasnt managed to get VSS to work decently with web projects. And now, the only MS option is the costly TFS. Just google for VSS and web apps problems and you'll probably get a million results. I nearly laughed out loud when i saw one of the results was an old teched hands on lab for setting up a "builld lab" with VSS and VS2003!!

yeah, i know, someone is going to reply saying RTFM, theres a way to work with web projects, there are workarounds and all that. I've heard it all before. There is just no reliability with it. An automated build should at least let you sleep easier at night not keep you awake fretting about what new horrors the results of the build will reveal and what new workarounds you should find.

VSS RIP can never come too soon for me. !

with 0 Comments

Misadventures in the Orcas world

For some reason i got bitten by the Orcas bug and downloaded the CTP. Curiosity got the better of me. I should have kept quiet and stayed with my R&D into VS2005. So what were the problems?

First thing is that the Orcas CTP (September) is a differencing disk and the instructions for use are for VPC and not Virtual Server so if you use VServer (R2) like me, it can stop you for a while. It turns out that VPC prompts one for the location of the base disk whereas with VS you have to use the INSPECT option and then it gives you the chance to correct the location of the "missing base disk". You also have to set the base VHD to read only otherwise VS throws some nasty error message about not being able to use it. To read some posts of mine on the whole sordid tale, look here.

Oh and before i forget, for people in the UK please note that the keyboard settings are US which means that to get the password p@ssw0rd correct you have to use SHIFT -F2 for the @symbol. This is the area where i got stuck with the TFS VPC several months ago and at that time no one told me about this so i had to forget about testing the VPC for that product as i could never log in successfully.

Once thats done, in theory you should have no problems, but unfortunately in my case, the VM simply threw core dumps all over the place when i started it up. I tried with a fresh download of the CTP and again no joy. Im going to have to try it with VPC now and find a workstation where i can test that out. Or perhaps i wont bother. After all theres so much to learn in Whidbey and theyve got a brand new SDK out with the full version of the DSL kit etc so that should be enough to keep me amused for a while.

with 0 Comments

VBUG 2006

Just got back from this years VBUG conference. It was pretty good two days, completely sold out and all that. Decent topic coverage too. For me personally there werent many new things cos i had the opportunity to go to the MSDN roadshow recently where we spent a whole day on WPF, WCF and WF with much longer and deeper sessions but hats off to the VBUG organisers for sorting out good speakers and topics (well, i cant speak for myself , i presented an Introduction to Biztalk, but i heard it went down well and the other chaps were a knowledgeable bunch.

There were a few glitches in the demos, but thats always the case at conferences. Even at mine, i ran out of time and abandoned the demo about 75% of the way through cos there were a lot of "lessons" that i need to share with the attendees and the demo was a simple file mapping one in any case. (Its the standard Biztalk demo, but it does show the abstraction at the heart of Biztalk so it suffices in most introductory talks). I stayed up late the previous night preparing some more comprehensive stuff including consuming web services etc, but couldnt show that. Still, i think we managed to cover a lot of ground in that one hour. I could probably start writing some articles based on the slides and some of my thoughts on using Biztalk with the other products in the MS Connected Systems strategy.

Its funny how perspectives change in a short time. There was a demo of PowerDesigner by a chap from Sybase. It was a good talk and he showed a lot of the features of the tool such as looking at the model round-tripping from UML to DB to code and back and things on requirements traceability, integration with VSTS etc. A few years ago i would have been on my feet cheering him on , but this time while i appreciated what he showed, i couldnt help thinking "its not TDD is it?"  and "how can we make this work with TDD? test, model, generate code, refactor, reverse engineer?nah.. too much work" which is rather ironic for me personally cos i used to be really hot on database modelling and code generation etc.  I'm still all for models and IMO you absolutely need the blueprint before you build the house, but the key point is how much of the blueprint do you really need before you can start delivering working code (and its different strokes for different folks).

I'm going to focus a lot on software factories and DSL's and i believe theres tremendous payoff in that field and it can do wonders for productivity. More on this discussion of modelling and TDD later.

with 0 Comments

Another Factory - WebClient Software Factory

The P&P team are at it again and have released the first drop of the next factory - The Web Client Software Factory. Theres a note on Ed Jezierski's blog . The factory aims to provide guidance on web development using .NET 2.0 (ASPX, WF, Ajax etc) and will include guidance around security. No explicit mention is made of whether they will include material from the  ASP.NET 2.0 Internet Security Reference Implementation but i assume it will pull together all of the relevant guidance into one roof. Now how about one for Biztalk? :-)
with 0 Comments