Using MSBuild to deploy a website cross-domain
The task: to have an automated build process which would take the fresh built files and deploy them on a remote web server.
The challenge: the remote web server was not in the same domain as the machine with Team Build on it.
Initial research found plenty of helpful advice on how to do a copy using the <Copy> task. I tried various different methods of specifying the files I wanted to copy but all hit the same trouble. I tried adding on some community extensions to MSBuild to FTP Copy but didn’t get far with that as it seemed to want to transfer only one file at a time.
In the end, our Operations Team came up with the answer in the form of a Trust Relationship between the two domains in question. Now, my share was browsable without needing to enter remote domain credentials.
So the Target I wrote overwrites the behaviour of the ‘AfterDropBuild’ target and looks something like this:
<Target Name="AfterDropBuild">
<CreateItem Include="$(DropLocation)\$(BuildNumber)\Release\_PublishedWebsites\PROJECT\**\*.*">
<Output ItemName="ItemsToDeploy" TaskParameter="Include"/>
</CreateItem>
<Message Text="Found items: @(ItemsToDeploy,'%0d%0a')" Importance="high"/>
<Copy SourceFiles="@(ItemsToDeploy)" DestinationFiles="@(ItemsToDeploy->'\\REMOTESERVERIP\PROJECTDROPSHARE\%(RecursiveDir)%(Filename)%(Extension)')" /> </Target>
Esendex Last Minute Sprint
In a change to normal development activities, this afternoon saw us do a bit of last minute preparation for a triathlon that Esendex is the headline sponsor for. It will, I guess, be business as usual on Sunday too for the Esendex Last Minute Sprint at Southwell with both Adam and Julian leading the way forward in the overall times for the eight staff members who will be competing.
Today we had a visit from Richard Stannard which was very worthwhile. Chatting to a world class althete was not only inspiring but he was full of useful advice. It has made the whole prospect of swimming, cycling and running at Silly-o’Clock on Sunday morning less daunting. I say morning, I think I need to get there just after the milk does, so its more a.s. (Apres Sanity) than a.m.
There have been times at the gym these last few weeks that I did question my own sanity for attempting this but it has been a great goal to aim for.
The motley crew from Sales, Operations and Development are joining in with the semi-professionals and this will be my first triathlon. I think Julian has such a good swim time that he’s starting on Monday (I joke!). Despite gunning for the wooden spoon prize I am just looking to have fun and make it around in one piece. Oh, and I’m also trying to aim to not be overtaken by Adam or Julian
Thanks to Ewan for his kind words of support. I’ll let you all know how I got on (if I have the energy to type!)
Remote Desktop Connection Smart Sizing
If you use Microsoft’s Remote Desktop Connection (RDC) a lot then you might be interested in an option that’s not available via the GUI. ‘Smart Sizing’ allows you to scale the screen to the size of the RDC window rather than the default option where the remote desktop gets cropped.
If you open a new RDC instance and expand the ‘Options >>>’ button you see the following screen :
At the bottom of the dialog is the option to ‘Save’ the current settings. Fill out as much as you normally would to connect to a remote box and then Save the file onto your local machine somewhere.
Edit that file with the text editor of your choice and add the following line to the bottom of the .rdp file you saved:
smart sizing:i:1
This will force RDC to scale the window when you shrink it and will stretch back to full screen when you click ‘Maximise’.
I create a collection of these .rdp files for each of the servers I need to communicate with and have a directory of them as a custom toolbar on my task bar.
Just remember to start your RDC session from your saved .rdp file to take advantage of the scaling trick
C# Abstract Exceptions
We’ve just been writing some new exceptions based initially on an abstract Exception class. When the attempt to write a catch statement to catch all exceptions which inherited from this abstract base class it wasn’t behaving as expected.
The gotcha here is that C#/.NET doesn’t allow you to catch exceptions from an abstract class. If you want to catch a base class Exception, avoid that abstract.
You have been warned! This is for .NET 2 by the way
Is Microsoft’s future ‘delicious’?
So have you had chance to see Microsoft’s (supposed) answer to Apple’s excellent Get A Mac adverts yet?
Well in case not, I’ve included it after the break. So I get the fact its got people talking because its obtuse, I get the fact that its not tying them to advertising one product but seriously have they thought about what this advert is saying?
Read the rest of this entry »
Ur clrd 2 lnd
In case you’ve not yet realised the business benefits of using SMS, then maybe this story from Ireland will help convince you.
The Irish Times wrote a story last Thursday about how an air traffic controller used SMS to guide a plane down safely.
He then lost audio telephone contact but the air traffic controller switched to texting and told the pilot that he had a primary radar signal on the aircraft and that Cork would allow them to land there. He then used texts to guide the 30-year-old plane in.
So maybe rethinking the usage of phones on planes needs revisiting? SMS might be small but it can be powerful. A bit like the Twitter story of the guy whose one word triggered a whole community response to his arrest in Egypt.
Powered by Elephants
Apparently this coffee is elephant powered. Well, made with Elephant Beans anyway.
Unlike that Kopi Luha (sp) whose beans have passed through the digestive system of a wild cat, I’m hoping these haven’t been fished out of some dung. I jest of course as it refers to the size of the beans.
It does make you start to question what your beverage has been through to get to your cup!
iPhone now blogs
So finally the application I’ve been missing has turned up on the Application Store. WordPress from those lovely people at Automattic has provided a free app to blog direct to my self-hosted blogs. It’s a great first step and works really well.
I hope a future version will include an admin interface as well. So hello from Esendex Towers and me blogging from my iPhone!
Good morning and welcome from Clumber Street in Nottingham outside the O2 store. It’s nearly time and we’re quietly confident here at the front of the queue. I’m in 9th place so fingers crossed!
Mobile post from the Esendex BlogIt service
The Night before iPhone
Twas the night before Friday, when all through the house, the PC was crashing, couldn’t talk to its mouse.
The taxi was booked for 5:20 with care, with hopes that a 16Gb iPhone soon would be there.
His fiancee was nestled all snug in the bed, while visions of multitouch danced in his head.
And to ensure that the world would hear news bit by bit, he’s set up and using Esendex‘s BlogIt!
Mobile post from the Esendex BlogIt service




