Wednesday, 25 March 2009
« FIX: Changing your MOSS site Url causes ... | Main |
SharePoint designer is not my favourite piece of software by a looooong way, it has a habit of corrupting page layouts, and of misreporting the check-in state of files (among other 'quirks'). I finally got hacked off enough with the check-in bug to try and work out what was going on:

I have a stylesheet in my style library (which we'll call foo.css) that is showing as being checked out to my colleague. Looking at the style library through the SharePoint UI shows that foo.cs is not checked out to anyone, implying that SharePoint designer is caching the state of foo.css somewhere. No amount of restarting SharePoint Designer or refeshing the site makes any difference to the state of foo.css

At this point i decided to use process explorer to see what files SharePoint Designer was reading from, in the hope of spotting something that looked like it was related to caching. Process explorer by default produces a vast amount of data, so I set some filters to restrict it to the SharePoint Designer process (SPDESIGN.EXE) and the ReadFile operation:

I started event capturing in Process Explorer, started SD, and opened up my SharePoint site, which produced several hundred events; one of which looked like a winner:

I've blurred out the filename, but as you can probably guess, it's the url of my SharePoint site, with dots replaced by underscores. The content of this file is (almost) human readable, certainly enough so that i could see a reference to foo.css within it, so i tried deleting it and reloading my site in SD: This fixed the problem, foo.css was correctly shown as being checked in.

Note, if you delete this file whilst your site is open in SD, the file will be recreated when you close SD! Therefore, make sure SD is closed prior to deleting the file.

Wednesday, 25 March 2009 14:06:08 (GMT Standard Time, UTC+00:00)  #      Comments [0]  |  Trackback Related posts: