Microsoft “Tool” Book Covers


This has been bugging me for some time and I have to vent about it. For some years now Microsoft has been putting tools on the covers of its technical books, which is fine and even makes sense. But, shouldn’t they put NEW tools on them, or at least the coolest tools to be found? Instead Microsoft has used old, dirty, rusty, bizarre and/or antiquated tools! Just what message are they trying to convey?

Some examples
http://www.microsoft.com/mspress/books/6715.aspx
http://www.microsoft.com/mspress/books/5200.aspx
http://www.microsoft.com/mspress/books/5621.aspx
http://www.microsoft.com/MSPress/books/9692.aspx
http://www.microsoft.com/MSPress/books/10512.aspx

Looking at the upcoming titles, it does look like they have removed the rusty ones, but some of tools chosen are simply bizarre. A horseshoe for SharePoint? Pliers for Communication? An old drill for driver programming? Are they saying that their software tools are merely old, or old AND obscure? Perhaps they are trying to convey that the information within is outdated?

Don’t get me wrong.  I’m a huge fan of these books as the content is usually top notch.  It’s just that the first questions that come to my mind when I see these covers is about the tool. 1) What the heck is it? And 2) What in the world would a person use that for? Neither of those are questions that are particularly favorable to an entire line of books dedicated to software tools.

My non-tech friends see them and ask: “Why do you have so many books about old tools?”

Approval Workflow is Broken on Publishing Sites


I ran into an odd issue the other day where the Approval workflow for a Publishing site simply would not work. .Net 3.0 was installed properly and the site was otherwise functioning perfectly so it didn’t appear to be a problem with the install.

What was happening was that when I pulled up the first page in a workflow, I received one of these two messages:

“The form has been closed” – which is the lovely generic InfoPath version of the Sharepoint “An error occurred” message. Not terribly useful

– or –

“The server is currently being taken down for maintenance. Check with your system administrator to see when this server is scheduled to come back online.
Click Try Again to attempt to load the form again. If this error persists, contact the support team for the Web site.
Click Close to exit this message.”

… yet, the site was running fine aside from the workflow.

The Solution
Somehow the site had gotten itself into a partially quiesced state where some of the site was convinced that the whole farm was quiesced while other parts thought everything was running fine. The fix was to go into the Quiesce Farm option in

Central Administration > Operations > Quiesce Farm and then restart the farm. After that, everything worked fine.

Quiesce farm

An interesting thing that pointed even more to this was the error in 12/LOGS that read: “Loading event log failed, because the form was quiesced”.

A duplicate site ID … error in Event Log after moving Content Databases.


After moving the content database to another SQL Server, I started getting the following message in the event log every hour : “A duplicate site ID … was found. This might be caused by restoring a content database from one server farm into a different server farm without first removing the original database and then running stsadm -o preparetomove. If this is the cause, the stsadm -o preparetomove command can be used with the -OldContentDB command line option to resolve this issue.”

Nice and simple and even a recommended solution in the error message – except that it wouldn’t work. After a lot of additional searching I turned up this command, which did work:

stsadm -o sync -DeleteOldDatabases 0

I am reposting it here because of how hard it was to find in the first place.  For what its worth, the full syntax of this is:


stsadm -o sync
{-ExcludeWebApps <web applications> |
-SyncTiming <schedule(M/H/D:value)> |
-SweepTiming <schedule(M/H/D:value)> |
-ListOldDatabases <days> |
-DeleteOldDatabases <days>}

The original answer was posted by Vikram Garlapati.

How to determine expiration date of your eval copy of sharepoint


The other day, I was asked by my management to provide the exact day that our Eval copy of SharePoint 2007 would expire.  Well, I knew it was before Christmas and I could get a rough idea by looking at the timestamps in the 12 hive, but still didn’t have the exact date and time.

After some digging, it turns out that Microsoft was nice enough to include the exact date and time right in the Central Administration console, albeit tucked away in a less than intuitive place.

When you go to Central Administration -> Application Management -> Office SharePoint Server shared Services -> Check Services enabled in this farm, you will see a message like the one below that lists the exact date and time that your SharePoint eval will go belly up . or whatever it is that SharePoint does when you hit the expiration.

I asked MS about the expiration behavior and they said that it was hard to say exactly what it would do, but it would be something between “stop working entirely” and “disable all admin and publishing functions”.  Really!

Mystery Master Page or CMS Gotcha


Testing Master page changes in Sharepoint can be a little tricky.  I had a situation recently where I would view the master page and see all of my changes, a person sitting down the hall from me would see some of the changes, and a person across from her saw none of the changes – and we were all looking at the same page!

I checked browser cache, disabled output cache on the site, restarted IIS, restarted the computers, and restarted the servers (desperate), with no luck.

The Gotcha here is that it turns out that the CMS abilities of SharePoint extend even to Master pages.   In order for everyone to see the same page, you must check in your new Master file, then Approve it by clicking ‘Approve/Reject” in the file dropdown in the Master Page Gallery.

What happened in my case was that I had created the initial new .Master file from a base .Master file and installed it as a feature (1.0 and Approved),  I then checked that out in Designer, made most of the modifications and checked it in (v1.1, Unapproved).  I later checked it out and made other changes and saved them but did not check them in because I wasn’t done (1.2 draft).

At this point, all three of us could view the exact same page and see three different layouts.  I have no hard proof on exactly why this happened, but I do have a theory.  Here goes:  I was seeing v1.2 because I was the one making the changes and had the files checked out.  The person down the hall saw v1.1 because she was an approver and was viewing the most recently checked in copy, presumably to approve them.  The person across from her saw v1.0 because that was the most recently Approved version of the page.  Once I checked in the files and approved them, everyone saw the same thing again.

This all makes sense but really catches you off-guard if you aren’t used to the new CMS mindset.  Remember, if someone comes to you saying that two (or more) people are seeing different versions of the exact same item, the approval process for that item might be a place to start looking.

Thoughts and comments from deep in the software development jungle