Friday, October 20, 2006

IE 7 - Missing drag links

I still consider IE 7.0 is missing one killer feature that I love about firefox. I would love to be able to drag a link from a page being viewed to the tabs area and either drop it on an existing tab or create a new tab. Otherwise I think the new browser from MS is great and will finally put an end to all those open windows and the naf grouping in the desktop toolbar. Of course I would probably just use Firefox if MS would ensure that the javascript they used on dynamic pages worked in that browser. I can't see that happening any time soon though.

Thursday, May 11, 2006

Project Manager field - Project Server 03

The project managers field is input in the file properties dialog in Project Professional. It is called the author field. This maps backs to the project server database in the msp_projects table and is located in the proj_prop_manager field.

Friday, May 05, 2006

Rename a published project - Project server 2003

Some notes on the process to rename a published project in Microsoft Project Server 2003. First off download the Rename Project Tool from Microsoft. Next you will need to install the tool on the machine running project server. In the installation guide, I have always created an additional registry key for the PDSRights.CPDSRights value, incrementing the string PDSExtensionExN increasing N by 1. This is regardless of whether there is already PDS extensions installed on the machine. (That will make more sense when you're actually installing the tool and referencing the guide). There is some confusion about required security credentials required to Logon to the Project Server using the tool. It has always worked for me using the server administrator account, however the Trusted Connection checkbox will generally allow you to overcome logon failures! Also make sure that all updates have been processed for the project in question - check this with the project manager and resources.

It is merely then a case of running the tool and choosing the project you wish to rename.

The additional step not documented by Microsoft is to update the Windows SharePoint Services site with the new project name. To do this you logon the WSS site with an administrator account and do the following:
1. Go to Site Settings.
2. Under Customization select Change site title and description.
3. Modify the title and click OK.

I really don't consider this tool should be installed on project manager's machines as the installation is not clean and usability is not well considered. This should remain a tool used by System Administrators and IT staff. If you are looking for a more user friendly way to rename projects then check out the Project Renamer add-on from Bogdanov and Associates. This tool claims to integrate nicely into Project Web Access. I guess if your organisation renames a lot of projects then the investment in an add-on like this could be justified.

Enterprise Library 2.0 - Hands on Labs

These labs have now become available here. For any .Net developers still doing cross cutting business logic other ways I would encourage you to try out Enterprise library. At a high level it is useful for (in no order of priority):

  • Auditing
  • Logging
  • Configuration
  • Security
  • Data Access
  • Exception Management

I basically wanted to post this on my blog as I am constantly amazed at the number of .Net developers that I speak with who have near used this set of tools. For mine this continues to be the crowning glory for the MS patterns and practices group.

Friday, April 28, 2006

Pair Programming

A few year ago I had the opportunity to work in a pair programming environment. After that experience I have always believed that in the right circumstances, pair programming increases productivity and more importantly, the quality of deliverables.

Fundamentally the decision to allocate pairs to a task should not be collaboratively made by the development team, but rather made by the architect / manager based on feedback from team members. Some of the considerations an architect needs to consider include:
  • Complexity of task
  • Capability of the programmer(s)
  • Competing priorities
  • appetite for quality and therefore risk mitigation

This success of pair programming also relies on the management taking a proactive view on quality outputs. Which ever way you slice quality considerations, it makes for a better business. The difficulty is that too many manager's are focused on quick turn arounds and quick wins. I some words of advice for those managers, A sustainable business has to be built on quality! Jonathan Cogley ran an interesting little experiment on this subject. Check out his blog here.

Tuesday, March 28, 2006

BizTalk 2006 RTM

Caught this on BizTalkBills blog. Everyone without an MSDN subscription will have to wait for another month or so for the full product release.

Friday, February 24, 2006

WinFX February CTP

Having not played with the beta's or CTP of Windows Workflow Foundation I decided this afternoon I would quickly install this and get some sample happening. Well a few hours later I have the basics installed on a Virtual Image. Why does this always take longer than u think? Ho Hum. The best download spots are MSDN Vista and WinFX beta page at MSDN and The Official Microsoft Windows Workflow site. I'm particularly interested in looking at the Workflow functionality as compared to vendor based products like K2.Net and Captaris. I'll try to keep this blog up to date with my findings.

Ph..by the way make sure you completely remove the Jan CTP and previous betas before installing.

Monday, February 13, 2006

Anthem.Net for Ajax in .Net 1.1 and 2.0

This is a great tool developed by Jason Diamond for simplifying Ajax implementations using Visual Studio 2005. Microsoft certainly have made this technology complicated with Atlas. I recall playing with Atlas last year and thinking it was too cumbersome for limited functional implementations. You can get Anthen on its own sourceforge project.

Friday, January 20, 2006

Visual Studio 2005 & Enterprise Library June 2005

After trying unsuccessfully to get Enterprise Library June 2005 to work in my .Net 2.0 application I discovered this great article by Michael Schmitt on the codeproject website. Prior to running up an app in VSTS 2005 I had naively believed Ent Lib June 05 was compatible with .Net 2.0. Michael's article quickly allowed me to keep me going. As an aside I have downloaded the Nov CTP release of Ent Lib 2.0 which is available on the patterns and practices website on gotdotnet. As I am working on a commercial project for a client I will stick with the stable June 2005 release rather than place my unsuspecting client on the bleeding edge.

Thursday, January 19, 2006

Holidays in Fiji

Bella and I recently returned from a well earned break in Fiji. We had an amazing time and I would recommend it to anyone who enjoys the sun, sand and water with a heap of friendly people thrown in! I have included this photo of a sunset panorama I stitched from the view from our resort villa. It was great chilling out most afternoons having a wee drink while the sun went down.
After that sort of relaxation, I feel like I have enough charge in the batteries to tackle the new technical stack from our friends at MS. Here goes!

SQL 2005, XML, XPath and Performance

I have been playing with the XML querying in SQL Server 2005 and have to say that this is nice to have what Oracle has had for a number of years now. The performance penalties associated with querying XML columns directly has presented me with a bit of a conundrum in terms of performance. Accepting that indexes can be applied to XML columns to improve query performance there still would be a significant penalty associated with querying node values within the XML column data. As it stands I believe common sense should prevail. If your application can tolerate the performance hits then don't worry about it. If perfromance is a prevalent issue the mitigating steps will need to be taken.

One suggested alternative I have read is to promote the node values into a column of not XML data type, but a data type that supports faster relational DB queries. Interestingly you would have to do this during the database design phase of development with dual updates from update code in an application or SQL. This means having a relatively known and stable XML structure. Another option is to perform a straight forward dynamic query at run time within the SQL engine i.e. retrieve the node values from the XML column and place into a column within a temporary table (or the like) for more complex data queries to be performed. Maybe there is a better approach but I am yet to find it!

As an aside when an index is created on an XML column (CREATE PRIMARY XML INDEX idx_Index ON Table(Column) ,apparently this creates a node table to improve searching of XML structures. Obviously if it doesn't have to build on in memory structure for each query then this would be faster than a non indexed XML column. I need to investigate what happens to newly created XML data that has more nodes. Does the index update with every insert? If it doesn't then loading an XML schema (XSD) would be recommended in addition to regular updates of the index.