Corro'll Driskell posted a counter post to my "SharePoint Designer Blues" that I feel is a good read. I admit my disdain for Designer in this post is too sweeping, and isn't even a holistic expression of my views on Designer, which are much warmer than I made them out to be. Anyways, check out his post at:
http://mindsharpblogs.com/Driskell/archive/2008/09/11/8427.aspx
Be sure to check out my comments to his post that clarified my original hastiness. Enticing dialog at its best J
I hate Designer for SharePoint Master page development. My biggest issue is that after you start customizing master pages with Designer, 6-12 months later you realize you have a huge mess on your hands. You end up maintaining hundreds of copies of the same file. Say you need to make a minor change to a master page, you'd have to go back and crack open every site, one at a time. This could take hours. Also, you may not even know the places that need the change, or you think you changed them all, but turns out you missed some. Designer means inconsistency and costliness in the long run.
So, off the soap box, what if you're down this road and want to get back to a better practice? Here are the steps:
BUILD & INSTALL A MASTER PAGE FEATURE
The key to consolidating your master pages is to have one page on the file system (12 Hive) that is the central page for all sites everywhere that need the master page. The best approach to this is to use a feature that you can activate on the sites that need the master page. Paul Stork (MVP) has a great article on how to build this feature.
Download a master page from one of the SharePoint sites that has the latest code for you to use as the template within the feature.
REVERT TO SITE DEFINITION AND ACTIVATE FEATURE
Under site settings look and feel, click reset to site definition. This will disregard all your SharePoint Designer changes. Thereafter, active the feature to start using the customized master page again. Repeat this step on every site that you want to use the central copy of the master page on the file system.
Now all your sites that have that feature activated will be using ONE copy of your code. Edit that master page ONCE, and that change will get propagated EVERWHERE! This will save you a lot of time and money in the long run!
DISABLE DESIGNER SO THE MISTAKE WON'T HAPPEN AGAIN
This step is optional, but highly recommended. Designer can be suicide for your power users, because they can easily break your sites and cause inconsistency in your farm. If you want to be certain your sites are using YOUR master page, and won't get customized by someone not in IT, you should consider this step. The only downfall is that you won't be able to build workflows with Designer, but you should use Visual Studio for that anyways (check here if you're not convinced on how easy it is).
You disable designer at the site definition level. For every site type that you don't want people using designer in, you'll need to edit its ONET.XML file.
Inside the project tag, add the DisableWebDesignFeatures tag, and specify wdfopensite to prevent all sites using this site definition from opening them with designer:
Save the file and do an IISRESET. Repeat this process on other site definitions in your farm, and on each web front end.
Good luck!
[this post was cross-posted from http://philwicklund.com]