Richard Fennell

Mirror of 'But it works on my PC!'

Upcoming Community Conferences

I am a bit behind the curve here but if you have not noticed DDD8 is planed for January in Reading and DDD Scotland in Glasgow for May.

Both conferences have open calls for speakers, so get your sessions in quick.

A busy week of presenting

The interest in Visual Studio 2010 is growing, I am presenting at two events this week and have another day of less formal meetings on the subject.

The event on Thursday is the Architecture Forum in the North we are hosting with Microsoft, there are still a few spaces available is if you are interested in the learning more about new techniques and tools why not come along. You even get to hear me talking about using TFS as a Java developers via Teamprise.

Hope to see you there.

Post PDC Thoughts

I realised I never did another post after my first at the PDC, now what does that tell you?

One thing it tells me is that blogs are not they primary news form for events now, it has moved onto Twitter. Though as yet I am still lagging behind on this one, I have an account but no tweets as yet. I find there is too much noise most of the on Twitter, it is useful when at an event like PDC to get the buzz, but for me not day to day (though I know I am missing stuff because of this view)

For me the key story a the PDC as a whole was that the Azure fabric can extend into your IT systems using AppFabric. This means I can easily see a day where you write an application for an internal IT system that can dynamically grow to an Azure data centre when needed for load or disaster recover, all without any special coding model because the Azure/AppFabic is ubiquitous.

So a light PDC from the blogging front, but one for of future architectural promise

Oh one last thought, on past trips to the USA I have been to the Baseball, which I like, not that dissimilar a night out to one at the Twenty20 cricket. This time we tried Basketball, less to my taste. When watched live it seem the game play just gets in the way of the adverts and the other various audience participation entertainment. I have never seen a sport with so many ways to stop and clock (and for so long!). Looks like I need to stay with bat and ball games.

PDC Keynote Day 1 thoughts

So the PDC2009 day 1 keynote is over and what was the story? Well it is more of a vision thing, but then again this is a PDC not a TechEd so what do you expect. For me the two major themes were

  • Dallas – a centralised data service that allows unified access to both public and private via subscriptions. Thus allowing core data being used for any purpose the user requires within the EULA of the data in question. It will be interesting what will be published in this manner, is there a market for a centralised data clearing house? only time will tell.
  • AppFabric – Basically taking the operating model for the Azure services and allow a company to have a similar model in their own IT system. Thus allowing code to be written that can work on the corporate system or Azure cloud without alteration. This I see as being big.,

So what was not mentioned, well it was mobile. The only comment was a ‘come to Mix in the spring for stuff about the next mobile offering. Whatever is shown there is going to have to very good to address the momentum of the iPhone. I think a good bet is that leveraging the Azure fabric might be important for the mobile offering

TF53010 error and no TFS Warehouse updates after a SQL migrate

We recently moved our central SQL server to new SAN hardware and at the same time upgraded from SQL2005 to SQL2008. Once this was done we noticed that our TFS Reports were running against old Warehouse data.

Checking the TFS Application Tier event log we saw:

TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 21/10/2009 10:27:25
Machine: TFSAT
Application Domain: /LM/W3SVC/287244640/Root/Warehouse-2-129005451884971104
Assembly: Microsoft.TeamFoundation.Warehouse, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process Name: w3wp
Process Id: 2716
Thread Id: 2848
Account name: MYDOMAIN\TFSSERVICE

Detailed Message: Cube processing runtime error: \r\nMicrosoft.TeamFoundation.Warehouse.WarehouseException: The following database is not accessible in the Analysis Server: TfsWarehouse at Microsoft.TeamFoundation.Warehouse.OlapCreator.ProcessOlapNoTransaction(Boolean  schemaUpdated, UpdateStatusStore updateStatus, Server server, SqlTransaction transaction)
   at Microsoft.TeamFoundation.Warehouse.OlapCreator.ProcessOlap(Boolean schemaUpdated, UpdateStatusStore updateStatus)
   at Microsoft.TeamFoundation.Warehouse.AdapterScheduler.RunCubeProcess()

The problem was missing rights on the new 2008 Analysis Service instance. The quick fix was to give the MYDOMAIN\TFSSERVICE account administrator rights on the instance (SQL Management Studio, Connect to Analysis Service Instance, right click on instance, properties, security, add the user). Once this was done I could force a reprocess and all was OK

A video on Access 2010

I recently posted on my experiences of Access 2010, well if you want to know more have a look at the video by Clint Covington and Ryan McMinn on Channel 9

Visual Studio 2010 Beta 2 release and a new licensing model

About 2 hours ago Visual Studio 2010 Beta 2 was released to MSDN subscribers, the usual wait for the download now start!

Also the revised SKU and licensing model for 2010 was made public by Brian Harry. This is meant to be simplification, but still remains fairly complex with the usually questions over ‘is that in this SKU or that?’

The key point for me is that the cost of entry for TFS is going to drop significantly, as the TFS server and a client CAL is included in the MSDN subscriptions with the VS Pro, Premium and Ultimate SKUs. Should break down a few barriers

Access Services in SharePoint 2010 or: How I Learned to Stop Worrying and Love Access 2010

So what I have I been doing of late? The blog has been a bit quiet. Well I have been having a good look at Access Services in SharePoint 2010. This has been an interesting experience, as I am not historically what you might call an avid Access developer.

Like most .NET developers I had looked as Access as more of a file format than an application, something from the past. Something that I might use for a small data store, maybe in a web application hosted on a cheaper ISP that does not provide ‘a real’ SQL DB, or where an XML data files don’t seem right, often because I just can’t be bothered to work out the XPATH. When using Access as a data format it seems easier to get at my data using basic hand crafted SQL commands or maybe at most via a OLEDB Data Adaptor/DataSet. All very old old school. Thinking about Access in this way just seems an easy way out, playing it safe with the knowledge I have. I don’t for a second propose that this a good idea, you should not be looking at using any technology just because it is there and you already know it. There are obvious downsides, using Access in this manner meant that from the ADO.NET developer side I could not:

But equally, by treating Access as just a data format I was not able to make use of it as the Rapid Development tool it is. I was too hung up in the unpleasant idea of an MDB sitting of a server being poor at locking and saturating the network with unwanted traffic. I was not even considering Access as a front end to a MS-SQL solution, and it is not as if that is new technology, it has been around for ages. I was just sitting happily with my prejudices.

I don’t think this position is that rare for .NET developers these days. Access seems just looked down upon as something old in the Office pack that is best ignored, no good would come of using it in a business environment.

So enters Office 2010 and SharePoint 2010 Access Services, for me this changes the game. For those who don’t know this technology, you can create an Access database locally on your PC then publish it to SharePoint. Tables become SharePoint lists, macros become workflows and forms well become forms. Access becomes a RAD tool to create data driven SharePoint sites.

So how has this new technology been working for me? Well I can’t say I have grown to love the Access client, but I think that is mostly down to that fact that I am still not thinking right for it. Access is all about data binding, you don’t have to think about what form fields need to be copied to which DB columns, the wizards make a really good attempt to design forms for you based on the relationship of the tables in your DB and this just all seem unnatural to me. I think this is because I am usually working with design patterns to reduces the linkage between forms and data to a minimum e.g. the MVC pattern, and so consider this good practice; automated data binding seems seems wrong. So in Access I keep wanting to build things from first principles, but this is just not sensible. Better to let the tool get you close and then you add the polish, put away any thoughts of implementing design patterns as you would in a language such as C# or VB.NET.

I think this is the key to the degree of irritation I feel with the product, if you have got used to architecting from the ground up, especially in a Test Driven Development style, you have to turn everything on it head. It feels like you are cheating, not doing the job properly.

But wait! look at the benefits. A while ago I was involved in a project to provide a resource management data driven web site that was hosted within SharePoint. It contained the usual things, data entry forms, links to SQL and reports. It took a couple of weeks to build. I think I could write the same system in Access with SharePoint 2010 in an afternoon, and would be happy to have a client’s business analyst sit next to me while I did it, in a pair programming style, to design the forms, report layouts and columns as I went along. For the smaller scale data driven site Access Services is a great tool, but obviously it is not perfect. I do keep hitting points where I think ‘if I were in C# I could just do that’ but then I remember ‘yes but it would take would have taken me three days to get here not an hour’. Most project don’t need that last 10-20% you can only reach on .NET custom code, the client with be far happier with 80% done quickly and flexibly rather than 95% done a lot later. Also we have to factor in my relative lack of experience with Access as a RAD tool, reducing the productivity that could potentially be achieved by a more experienced Access developer.

Actually the bulk of the time I have spent has been on looking at how you can extend Access Service to reach that last 20% of functionality, and it not that hard. The key to remember is that the Access Services are just built on standard SharePoint objects. Ok there is a new service running to render the pages, but underneath there are just SharePoint lists and workflow, and where these exist there are events that you can programmatically handle. I have found that by trapping events such as ItemAdd() for the Access created SharePoint lists there is no real limit to what you can achieve via the SharePoint Object Model. And this development process is made even easier by the new Visual Studio 2010 templates for SharePoint features. If nothing else the fact that all the templates create a WSP for deployment as standard makes for far more robust feature development.

There is one major difference between a standard SharePoint site and one created by Access, and it is that SharePoint Designer cannot open the Access site. I thought this would be an issue when I first heard about the limitation, but it turn out not to be. Anything you might have wanted to do in SharePoint Designer you can do quicker and easier in Access for this type of data driven site. Ok the range of things you can do is more limited, but again you get that 80% you need with much less pain.

So how has my experience with Access 2010 been? Exasperating, frustrating but undeniably productive. I am not sure it is the right product for an ISV style company who want to roll out single solution to many client sites (but it could be used for this if needed via the SharePoint site template gallery); but for a smaller data driven site (with or without custom extensions) written within an IT department it is a very strong contender. Taking Access in many ways back to it roots.

So if you need small data driven sites I would suggest you put aside your prejudices and have a look at the beta program for Office/SharePoint 2010, I think you will be surprised.

Local events reminder

Wednesday this week is the next Agile Yorkshire meeting, there are 2 presentations and a discussion planned:

  • Agile War Stories: A Project Managers Perspective. Ian Carroll
  • User Story Estimation: Alan Williams
  • An open discussion about Lean and Kanban in software development.

As usual the meeting is  at The Victoria Hotel, Leeds from 6:30 onwards for a 7:00 start. See www.agileyorkshire.org for more details.

On Tuesday next week there is the West Yorkshire BCS meeting on ‘The World of Ubuntu and Open Source’ by Matthew Barker of Canonical Ltd. As usual the venue is the The Met, King Street, Leeds, LS1 2HQ

TFS for the small team

Over the weekend Brian Harry posted on this blog about a new ‘Basic’ edition of TFS. This is aimed squarely small team currently using Visual SourceSafe. It will provide version control with work item tracking and can be run on SQLExpress. The key difference for the ‘Standard ‘ edition is that it will not have SharePoint or Reporting Services integration. For far fuller details check the blog post.

I think this is going to be a really interesting addition to TFS. This announcement answers a question I was repeated asked at our TFS2010 event last week, ‘we are a small team with VSS, I want something simple to move us forward, what should I use? TFS seems a bit complex and expensive’ So for me it is well timed and well placed within the marketplace.

Agile Yorkshire Twitter feeds

You can now get updates on Agile Yorkshire events via twitter @agileyorkshire

twitter-icons

TF250020 error creating new Team Projects

Whilst working on our TFS2010 Beta 1 test server today I got the following error when I tried to create a new team project

TF250020: The following SharePoint Web application is not valid: http://vs2010.mydomain.com. Verify that you have the correct URL.

I thought this strange, as I was doing nothing I had not done before, creating a MSF Agile team project with default settings. What I did notice was that in the new project wizard I had the server URL as http://vs2010 but the error message said http://vs2010.mydomain.com. So I checked the alternate access mappings in the WSS central admin, only vs2010 was listed, so I added vs2010.mydomain.com as the Internet alias and it all leapt into life when I tried the wizard again.

Question remains how did this work before, operating system service packs maybe?

Recording of my SQLBits Session on Visual Studio 2008

A webcast recording of SQLBits IV session ‘Making the SQL developer one of the family with Visual Studio Team System’ is now available on the SQLBits site. This discusses the features of the VS2008 Database GDR Edition.

Unfortunately I will not be proposing a session for this years SQLBits community event on the 21st of November 2009 at Celtic Manor in Newport, as I will be travelling back from the Microsoft PDC in LA

SQLBitsLogo

Nice explanation of using Kanban for support

Doron at Typemock has posted a nice description of how they use Kanban for managing support. A good introduction for those unfamiliar with lean

This past week’s Nxtgen events

Thanks to everyone who attended my two Nxtgen session on Sharepoint and Typemock in Birmingham and Manchester. You can find copies of the slide on the Black Marble site.

There was a good deal of chat in how Typemock could be used for more general ASP.NET testing; if this is of interest to you I would strongly recommended Typemock’s next webinar on the 25th of August on Unit testing ASP.NET with Isolator and Ivonna

Red button works in the BBC Interactive

Cool, I just noticed that on Windows 7 Media Center with a Hauppauge Nova 500 T Tuner card the red button works; so at last I can get Digital Teletext and interactive channels on the BBC without having to know their actual channel numbers (and as I remember they were actually ignored by previous versions of Media Center without a registry hack anyway).

This makes using MCE just like a standard Digital TV – should help general acceptance. This has certainly improved since the older versions.

Nxtgen UK tour reminder

A reminder that next week I will be speaking on ‘Developer testing of SharePoint projects using Typemock’ at two Nxtgen user groups:

Hope to see you there.

Speaking at Epicenter 2009, the Irish Software Show

I am speaking at Epicenter 2009, the Irish Software Show at the end of the month. The conference runs from the Wednesday the 26th to Friday the 28th. My sessions on TFS 2010 are both on the Thursday the 27th as part of the ‘Microsoft zone’

  • Application Lifecycle Management - Moving beyond source control
  • Making Testers Part of the Development Team

This is an interesting conference as it aims to address a wide variety of technologies i.e. not just Microsoft or Open Source. I find this type of conference a great way to catch up on technology I am not usually that exposed to; just the same ethos as Agile Yorkshire where Java and .Net developers can constructively compare their worlds.

Tickets for Epicenter are now available

image

Upgrading my Media Center to Windows 7

Over the past couple of days I have upgraded my Vista based Media Center to Windows 7. After my previous experiences upgrading from XP herehere  and here I decided to do a new install onto a new 1Tb disk as opposed to an in place upgrade. This all went OK, there was nothing major to note, Windows 7 shipped with a driver for everything in my 3 year old AMD/ASUS based PC bar the sound card built into my motherboard, but that was easily downloaded. It is worth commenting that my Hauppauge Nova 500 T digital TV turner was found OK, but I had to get it to scan for channels three times before it got a signal. Why it worked the third time I don’t know as I did not change anything.

The problems I had were when I wanted to copy on media (photos, music and TV recordings) from my old hard disks. The first problem was when I connected them (using external USB cases, one was SATA the other PATA) to a Windows 7 laptop they were not seen. The physical disks were detected but the partitions were not present. When I tried them on a Vista box at work the partitions were seen but marked as foreign when I looked in the administrator disk management tool. Once I selected the ‘import foreign disks’ option they both appeared OK as drives on the Vista box (at this point I copied the files to a network location as a backup, that took a while!). I then tried the disks again on another Windows 7 box and another Vista box, in both cases it now said the drives were dynamic and corrupt. However back on the working Vista box they were both still OK. I was now confused. However, as I now had a backup of the data, on the second Vista box I tried to convert this corrupt dynamic disk to a basic disk, this ‘worked’ but the ‘corrupt’ partition disappeared. When I tried to quick format that failed too, but a full format worked, but seemed slow (a couple of hours for 300Gb). Now once this disk was formatted it could be read and used on all the Vista and Windows 7 boxes. I copied the data back from my network share backup and used the fixed external UBS drive to move the files back onto my new Media Center at home.

Sorry I don’t have a better solution to the disk issues than a format. I have no idea what was gong on there, but I now have a fully working Windows 7 Media Center with all my old media on it. Probably not a quick as an in place upgrade, but I know it is a nice clean install. First impression of the RTM version of Windows 7 Media Center is that it is fast and  the interface clean. We shall see how it is to live with it.

Slides from yesterdays presentation at VBUG

Thanks to everyone who attended my VBUG session yesterday on ‘Enabling agile development with Visual Studio Team System 2010’. I have just posted the slides on Black Marble’s web site

More Posts Next page »