Fun with Excel 2003 and Web Services

Work are breaking me back in gently to the technical stream with one or two small jobs with bits of coding. I’m currently finishing up a Microsoft Excel 2003 based utility that imports and exports information from a system. A new version is on the way, so in the meantime we work around missing functionality by creating utilities. This particular one calls a few web services, and also a couple of aspx pages. In between we save a few xml files.

Got really stuck last night with an xml document that wouldn’t de-serialize at the server side. What was really annoying was that the document was based on an empty one that another method on the web service had provided. You’d think it would accept back the xml it had created? Wrong!

We narrowed it down to a problem with dates. The xml we were dealing with had two dates, one as an attribute of the parent element and one as a child element in the xml itself thus:

<PARENT action=”Update” lastChange=”2007-06-21T18:50:24.2970000+01:00″>

<WHEN_CREATED>2007-06-21T18:50:24.2970000+01:00</WHEN_CREATED>

</PARENT>

We tried all sorts of combinations of date formatting, I had a good hunt around the web for UTC date format related things and typed these in manually to no avail.

Then my colleague came up with an idea to do with the timezone offset, he had a theory that the plus sign adjusting us for British Summer Time in the UK was causing us a problem. And right enough, when you replace the plus sign with the escape code %2b (i.e. the hex for the ascii code) it would go through the process on the server side which was trying to fit the information into system.date format, thus:

<PARENT action=”Update” lastChange=”2007-06-21T18:50:24.2970000%2b01:00″>

<WHEN_CREATED>2007-06-21T18:50:24.2970000%2b01:00</WHEN_CREATED>

</PARENT>

Interesting to see that the effort I had to go through with form submission in the old days of the Internet are still around with us.

Windows 2000 Track exams scheduled for 2008 Retiral

Microsoft have announced the retiral in 2008 of a batch of Microsoft Certified Professional exams. The retiral page features a list of exams to retire on 31st March 2008, mostly coming from the Windows 2000 Server MCSE and MCSA exam tracks, plus an NT4 exam for good measure.

Looking at the list pop up some old “favourites” or what I would call one-off anomalies like the rather strange Commerce Server 2000 exam (70-234) which didn’t even merit a simulation exam from Transcender, but was a credit to MCSD.

And they are retiring my recent pass, 70-215 Putting Windows 2000 Server on a box and making it work.

Alistair Laing MBCS

My work just kicked off a scheme to help suitably qualified staff to join the British Computer Society. I followed the process, and now I am a member. And I think that means I can put MBCS after my name. First proper letters I can put there, being as I don’t have a degree.

I have just been on a wpf course

I’m on my way home now from attending a Windows Presentation Foundation (WPF) course run by one of my colleagues, Pat Long. It’s a brand new course he has just written, and I was priviledged to be a guinea pig along with five of my other colleagues. If it works out, the plan is to put more folks on it from my colleagues in the technical team, and even offer it externally.

I first saw WPF at the 2003 PDC in Los Angeles, when we had various folks from Microsoft and even Adobe were wheeled out in the massive auditorium to showcase this new thing called XAML, which was a step to bridge the gap between designers and developers and code named Avalon.

Things have moved on somewhat, and other things haven’t. For one thing we developers still drop down to source code whenever we can, so I have a really good idea of the power of XAML. It is quite deceptive, I mean, its only xml isn’t it? And yet in our three day course we built up from the plain brush and control elements, had a play with xaml pad and Visual Studio Orcas. Then we started binding things together, then bound in xml and classes. Pow – in come animations with their storyboards and my brain attempted to leave.

Then a little introduction to Microsoft Expression Blend, which is a really funky tool – I mean, it fires up with a black background so it must be cool, right? It has panes all over the place and looks very designer oriented, I think it should run on a Mac to be the real thing. But on a serious note, if they pull it off then the designers will be able to do their layout and animation thing, and us devs will be able to support them with the heavy and not so heavy lifting in supporting c# classes and data providers.

I can thoroughly recommend a look, and with very little polishing the course I attended would be just the thing to get you into WPF. A good challenge, and check out Pat’s blog.

We ran the course from our Northleach office, which although remote and bereft of wifi or decent mobile coverage, was absolutely idyllic. Now I’m in the compact and bijou Birmingham Airport, waiting for my flight back to Edinburgh. At least I was, until the wifi conked out in the airport, so I saved the post and uploaded it from home.

ActiveSync fun with my Orange M600 and server Certs

Had a wierd problem out of the blue yesterday with my Orange SPV M600. We recently changed over the public name of our ISA server and this involved a resync of my pda – not a problem. The biggest hassle (tiny at that) was picking up the folders to take offline in mobile Outlook.

Then I started getting an error when I attempted to synchronise my phone – “The security certificate on the server is invalid. Contact your Exchange Server administrator or ISP to install a valid certificate on the server. Support Code:80072f0d”. This error could be seen on both the pda and in activesync 4.5.0

I tried a whole pile of stuff, including back to basics as I did when I got usb sync working. I tried a few soft resets. I checked for the error code in microsoft support, but just found a listing explaining the error code, not the fixing procedure. I even thought it might be because I’m in a different location at work, and hitting some name resolution wierdness from the different network routing.

Then I stumbled over an article on root certificates and mobile 5 devices. I’m guessing that the root certificate authority (CA) had switched between the old address and the new address the pda was syncing to (i.e. the public name of the ISA server in front of Microsoft Exchange). The new SSL certificate (i had the checkbox in activesync checked) wasn’t acceptable. So I had to get a root certificate from our company root CA. This I did by popping into Internet Explorer 7.0 on my work machine, Choosing Tools Options, picked the Content tab and then certificates. Then I picked the Trusted Root Certification Authorities and exported the root certificate from my company to a DER encoded file. Then I used activesync to transfer the file over to my pda, then used file explorer on the PDA to find and open up the certificate. This fixed the problem!

So in summary, if you get 80072f0d, then it may be that the root CA on your sync server isn’t trusted. This can happen if the root CA isn’t one of the standard set that ships from Microsoft in Windows Mobile (IE is similar), in my case the root certificate was already on my desktop build as part of policy. You need to choose whether or not to change the server certificate to one issued by one of your existing trusted CAs, or trust the root CA that has been used.

Outlook 2003, VPN and Windows Desktop Search

I understand Office 2007, and in particular Outlook maintains a continuous index and is blinding when it comes to finding stuff. I’ve got Windows Desktop Search (WDS) installed on my work laptop and I find it excellent. I’m having fun lately marking the “utility” as I call it of various computer systems. This one has a 4 out of 5 rating.

I’ve also installed Adobe Reader 8 for the iFilter it gives me, and once I’d turned on the extension I can index into the internals of pdf files.

The only recent downside I hit was down to the joys of VPN. I haven’t been in the office for several weeks, and therefore I’m doing the ever so risky maneuver of archiving my outlook over the VPN. This normally works ok, I kick it off at home while watching telly and let it chug away in the background. It was particularly slow tonight, and of course there it was – WDS had noticed the archive file joining outlook and was diving in to index it. I wouldn’t mind if I was on a LAN, but over VPN it was plain annoying.

So into WDS config and unchecked the archive file.

Composite UI Application Block and Commonwealth bank

Working through my ARCast collection, I’ve just listened to a couple of ARCasts that are really relevant to the project I am working on.

My project, for the Corporate Banking division of a leading UK Bank, is being architected smart client style using the Composite UI Application block. It turns out that work at Commonwealth Bank on their SmartClient CommSee project had a major input to this application block.

The ARCasts describes some of the really helpful background of both fitting this type of application into a Bank, how to get developers engaged, how long it takes, is reuse really possible!

I’m going to have to listen to them again, unlike ARCasts in general there are a series of about six of these, and a lot of information. The sound is low quality for Ron Jacobs, but information rich!

The truck count

Not rhyming slang, but the figure that indicates the number of people you can lose on a project before it fails due to loss of knowledge. I.e. how many trucks can wipe out individual team members before we stop.

I resychronised my zen nano at the weekend and about three months worth of ARCast came across – my podcast download sync had been working away happily in the background, downloading them into my sync playlist and – bang! – no space on my wee mp3 player.

Ron Jacobs was talking to Dr. Neil Roodyn about just enough architecture, focussing on high value business requirements, breaking team silos, I liked this one.

December now, so what’s been happening in the land of AlistairL

December already, and a few weeks since my last post, so here is a catchup. Things have been pretty busy for me, with a fair amount of travel chucked in.

I’ve been in Yorkshire for a visit or two, holding a follow up workshop for a report I submitted with the rest of a team looking at a web development project. It was great to work with the talented team at the client, although they’d had some challenges, they seemed to relish the opportunity to discuss their ideas and collborate a bit on what could be done. They were itching to get in there and make some changes, which we all have to hold rein on when we are keeping management in the loop.

I switched laptops just before my last visit, which caught me out a little when I heard with a few hours notice that I had to travel to Yorkshire. The really funky thing was my first go with personal area networks in Windows XP Pro. Me and my colleague had the same type of laptop, and with a good 10 minutes at the beginning of the day we were all paired up in Bluetooth, got TCP/IP running and a shared folder to collaborate. This made the rest of the day’s efforts in compiling our final report so much easier. Although Word 2003 doesn’t approach the levels of collaboration possible in Excel, having a shared file we could hand to each other in relay fashion was great. It was painless for a new bit of technology I’d never ever used before. And of course it also has built in WiFi, which was useful for popping on a local access point, firing up the vpn to the office and emailing our draft report to the company we were subcontracted to for proofing and checking.

I’ve also been in Glasgow, which although not as far was for Commerce Server 2002 and helping a team get up to speed. They were new to Commerce, but experienced in .NET  and Content Mangement Server. Spreading my visits over a few weeks was a bit twisty for my brain (which country am I in :)) but again a top team to work with. We had our inevitable hiccoughs and the lead up to my last visit was a bit challenging for them, but we unblocked the issues and it was encouraging to see how close they had got in problem solving. I’ve been there myself with Commerce in the past, the learning curve has a few cliffs in it.

Really good to get my teeth into .NET internet sites, both for the start of an online Commerce expedition, the other a huge online servicing system with massive throughput. Internet stuff for both, and top people in both organisations too even though one was Private sector and the other Public.

Commerce Server 2002 Starter Site

After my secondment as a Business Analyst, I’ve had a couple of jobs that have been a delight – both to do with Microsoft Platform Websites. The first was to review a ground up implementation of an online channel of a mainframe application, the other is a short knowledge transfer using Commerce Server 2002. I’ve worked on similar jobs before – when a suite of software is bought and it takes a while to use all of the features.

In this case it was an MSIB 2.5 implementation and after it went in Microsoft Content Management Server got all of the attention. Of course, since then Sharepoint Portal Server has come to the fore (for a number of good reasons) and Windows Server 2003 is the server of choice. To remind me of the details, and to “feel the pain” I’ve been building a Commerce Server 2002 platform over the last few days. I decided to add it in to the domain I built earlier to pass my Windows 2000 Admin exam, as the client in question is running on Windows 2000 kit.

My goodness, how long has it taken. I’d hoped to clear this in a couple of days, and here I am still building the thing four days later. The slowest part was the prerequisites and for me this is my first lesson learned. I’m clearly a bit rusty when it comes to my toolkit, and I need to get my cds and dvds together with my platform servers and applications. Downloading Visual Studio over the vpn took over 12 hours, not quite broadband in my book. And I made one or two mistakes in the Virtual Machine config, again totally mucking up the disk sizing and making it too small to get things like service packs on properly. Although installs of server applications can be diverted to a second drive, the primary volume needs to be big enough for service pack deployment and crash dump handling.

Although the time taken has been a bit of added stress before my client visit on Monday, it has been excellent reminder training for me.