Hey dude … where’s my document. Your document dude … where is it.

December 15, 2011

The below is copied verbatim from a post I read on a forum, but really nails my knowledge of an issue I’ve seen crop up in our SharePoint environment. Basically when a user checks in a document with required fields without completing those fields, SharePoint makes the document invisible to other users. No warnings, no nothing, just invisible SharePoint wierdness.


• We discovered a more troubling impact of this behavior described above in WSS, and a better-than-nothing workaround that may help in some cases where there are a lot of files that need to be checked in.

The Problem:
We had a Library with hundreds of files that were not even visible to anyone except the person who uploaded them, and a few files that were visible. The uploader had no clue that no one else could see them, until someone finally asked the uploader about a file they expected to see in that Library.

The invisible files were all posted via Upload Multiple Files or Explorer View drag and drop. When the uploader viewed those folders, they files appeared and were listed as checked out to the uploader. However, check-out was NOT required for that Library.

When multiple files are uploaded to a Library that has one or more Required columns, it appears that SharePoint WSS automatically checks them out to the uploader, and makes them invisible to anyone else. However, the uploader is not warned or prompted in any way to fix or check in the Library items.

There’s no problem with individually uploaded files, because in that scenario SharePoint immediately prompts for the required information.

The Workaround:
• Temporarily change any Required columns to Not Required
• If any files are checked out to someone else, choose Document Library Settings > Manage checked out files > check the select all files box next to the column titles > click Take Ownership of Selection
• For each folder in the Library :
• Copy the checked out files to your desktop (e.g., in Explorer View), and delete them from the Library
• Re-Upload the files
• Edit in Data Sheet to quickly add the Required columns to multiple files
• Tip: If files are nested in multiple folders, create and open a flat view before switching to Data Sheet mode(Create view > Folders > Show all items without folders)
• Reset the columns to Required (or, drop the Required setting from the columns)
Hope this helps.

Everything’s not tickity-boo … at least on my sql server.

July 14, 2011

The Sitch:

None of the SharePoint applications from my development or test environment (which share a SQL server) are responding (errors below).

Exception Details: Microsoft.SharePoint.WebPartPages.WebPartPageUserException: Cannot connect to the configuration database.


Exception Details: System.Data.SqlClient.SqlException: Cannot generate SSPI context.

What’s going on under the hood:

Turns out the SQL server’s time service had gotten wildly out of sync with the rest of the SharePoint application servers. This was causing all the transactions with the SQL server to fails as the server is configured to only accept transactions that occur within a small time window of it’s own system time.


– Tried diagnosing connection to database
 – Ping successful between the two servers
 – Unable to find the MSQLService refered to in the article.
 – Problem seems to have kicked in from about 0850 this morning (according to the event logs).

– Ended up reporting the issue to our System Admins while I continued to investigate.


Once the System Admin reset the time on the sqlServer everything in SharePoint world was Tickety-boo. They continue to search for the root cause of the time de-syncing (I’ll be interested to know what they discover).


Modern network communications often rely on server’s sharing a common date/time. This helps to avoid replay attacks (amongst other things).


http://support.microsoft.com/kb/823287 – series of diagnostics to test connectivity from the SharePoint application server to the SQL Server.

http://sharepointmadeeasy.blogspot.com/2009/07/event-id-5586-cannot-generate-sspi.html – someone experience same issue as us.

http://en.wikipedia.org/wiki/Replay_attack – wikipedia article on Replay attacks (hence the need for TimeStamping).

One of these servers is not like the others …

July 13, 2011

The Sitch:

One of the servers in my test farm suddenly stopped serving search results and displayed the message

‘Your licence for Office Server Search has expired’




What’s going on under the hood:

Not sure, but it seems like it might be to do with a bug in SP2 that sets the licences expiry date incorrectly. I can only assume that this bug somehow was applied to the patching of our second server but not the the first ?? Doesn’t feel quite right to me, but the issue is resolved.


1. Checked the administration site for conversion licence (URL -> http://<your server>:10000/_admin/Conversion.aspx

  • This implied that we were using a trial licence (which was weird since all our other environments were using a standard licence CAL). 
  • Looked up our licence key and reapplied it. 
  • Licence type converted from Trial Licence to Standard Client Access Licence (text on the administration page). 
  • This didn’t immediately resolve the issue (no search results and same ol’ error message. 
  • Restarted IIS on the server that reported the expired licence issue. 
  • That seemed to do the trick.


Search is working again on both servers as expected.


Research links:

http://social.technet.microsoft.com/Forums/en-US/sharepointsearch/thread/96bde6cd-578c-4e72-b81f-af3e9b905415/ Tanzil Malek suggested checking the
licence status in Central Administration.

http://sebastianatar.wordpress.com/2009/12/02/your-licence-for-office-server-search-has-expired/ – mentioned the ‘Licence Synchronizer Job’ which might be important.

http://support.microsoft.com/kb/971620/en-us – Microsoft Hotfix that indicates the issue maybe something to do with a bug in the SP2 installation.

Network virtually disappeared.

June 16, 2010

Ok sorry for the pun,

But seriously I booted up an VHD into a new hyper V machine and despite my best efforts, nothing, no connectivity … nada.

Now I’ll admit this is not my primary area of expertise, but I do try to at least understand the basics … so I investigated.

Checking out the virtual network device I was informed that the VMBus Network Adapter had failed to start

“This device cannot start (Code 10)”

Turns out that all I had to do was connect to the VM from the host select Actions -> Insert Integration Service Setup Disc (Ctrl + I) and voila fixed (after a quick restart).

It’s the simple things in life that are often the best, if I’d bothered to read the error messages from the Hyper-V role manager all of this would have been made clear to me a lot sooner <sigh>

This is still a glitch in 2010 … C’MON !

June 15, 2010


I encountered this bug in 2007, and it’s happening again in sp2010, you really would have thought this would be low hanging fruit.

Ok so maybe I was a little over the top in the subject line of this post … but REALLY !! (there I go again).

Basically when your go to provision search it fails with the error

The call to SPSearchServiceInstance.Provision (server ‘APP1’) failed. Setting back to previous status ‘Disabled’. System.Runtime.InteropServices.COMException (0x8007052E): Logon failure: unknown user name or bad password.

The fix is to supply the SearchService\ContentAccess user details with domain names in the “format DOMAIN\username, not just username” (copied verbatim from the linked article, but I know sometimes people don’t like to click through the links.

To get a little philosophical, I guess this might demonstrate the wide chasm that sometimes exists between business users expectatons of how easy/fast a tech fix should be
and the poor little programmers view.

To state it clear

  1. I found the problem
  2. followed the diagnostic trail to the ULS logs
  3. copied the error msg into Google
  4. followed that to the linked blog
  5. followed the advice
  6. had a moment of recognition as I realized I’d encountered the same problem in 2007 installations.
  7. had the mild euphoria of watching my problem fade away

I didn’t do anything particularly clever that would actually result in me understanding this problem any better.

Another way too look at the same situation would be to use the rationale, if something this obvious has been left unresolved in two releases the must be some serious complication that forces it to be there. That serious complication is probably worth knowing about as it is likely to be impacting other parts of the system/systems development as well.

Anywayz, it’s working now which makes me happy, but I don’t really know why it was broken in the first place which makes me … vaguely disquieted.

If you have any contact with SharePoint you have to watch this … it’s funny … it’s tragic … but I kinda wanna sing along

May 19, 2010

Karaoke SharePoint

To the tune of ‘Ice, ice, baby’ … full props to Dux for doing this I think this is the sort of thing that stops IT and business from just freezing over with their own stuffiness … but … wow … nuff said … watch the films.

Powershell is coming … you can’t run … you can’t hide and you should brushup/learn your syntax as well

May 14, 2010

This This post

Gave me some clues on powershell that were badly needed.

The sitch:

i)   I’m upgrading SharePoint 2007/2010 in place (yip don’t start I was just trying to see what happened).
ii)  Started getting an error that implied that the security privileges of the admin account weren’t in sync.
iii) I wanted to reset the passwords in SharePoint system to those currently set in the AD system.

What I did

i) Booted up the SharePoint 2010 Management Shell (powershell) (stsadm had stopped working at this stage as I was literally mid-upgrade: SP2010 installed but not ‘upgraded’).
ii) Get-Help Set-SPManageAccount (Get-Help is pretty much like ‘man’ from linux in powershell land it is actually useful and tells you how to use all the commands you find along the way).
This link provided me with the information I needed to kick start the relevant commands link.

iii) Having marshaled all this info together you need to start wrestling with the syntax of the parameter options (of which there are many). Long story short make sure you look up each of the parameter types specified and then the relevant pieces of powershell to weave your plain text strings (which you were used to from good ‘ol command line) into strongly typed parameters.

$currentPassword = convertto-securestring “passwordTextjkfdajlkadsj” -asplaintext -force  (converts plain text password into a ‘secure-string’ variable)

Set-SPManagedAccount -Identity “domain\username” -ExistingPassword $currentPassword -UseExistingPassword.

It’s worth mentioning in the above.

i)  $currentPassword represents a variable defined in the first line and used in the second.
ii) -UseExistingPassword is a ‘switch’ parameter that doesn’t need to be defined other than its presence will ‘switch’ the input from the default (often false value I think) to the opposite ‘true’.

Still wresting with this upgrade so I gotta go now … good luck !!

The inner buzz of a good find.

May 13, 2010

I started following this guy ‘skorks’ I think when I read a few articles that got linked via the google reader (can’t remember why).

But since then I’ve had that lovely sensation of realisation when you/I discover we’ve made a good find.

The most recent (5 minutes ago) article I read by this man SKORKS was a review of modern Agile practices versus ol’ school software craftsmanship.

My take outs were:

i)   It made me think about Agile, Unix Programming and ways I could try to improve my own software craftsmanship.
ii)  A book to lookup/buy/read ‘The Art of Unix Programming’. I’d heard about it before, but this article made me want to read it.
iii)  This guy has a really nice consistency of his articles, he does more than just link to stuff (like I do); but actually performs some deep-ish analysis of an idea, some sources, some counter sources; it’s like a hearty bowl of soup !!

So if your in the software game, I reckon give this guy a quick read and let me know what you think.

The mysterious middle tier … for SharePoint

May 3, 2010

The Middle Tier Manifesto makes for interesting reading.

One thing I particularly liked was his model for placing SharePoint development into three tiers.

I like this because it allows me to clearly elicit one of my ‘gaps’ in terms of developement experience. So far I’ve found myself oscillating between the first tier (GUI and Admin Interface) and the third tier (full on VS2005/08/10 development with features/solutions). The middle tier has been their the entire time but kind of in my peripheral vision; present but unseen.

I’m now gonna try and get right upto speed with xsl, jQuery and SharePoint designer (wait I think I threw up a little bit just then) and at least get things to state of affairs where I can talk competently about the ‘middle tier’ of SharePoint and why we should(n’t) use it for our next piece of developement work.

Another good refererence/project to check out is the SPServices JQuery library; for a bit of a boost into the world of ‘middle tier’

OOTB Sharepoint – Software emancipation vs. the shackles of technical debt

April 30, 2010

Good friday reading regards the argument

Never use Sharepoint OOTB


SharePoint OOTB is totally worth it

Having reviewed the above and working in an organisation at the moment where OOTB is the current mantra (and in-house joke amongst the developers) I find myself fascinated by the questions/propositions of OOTB vs. Customisation and (at the moment) without a rock solid position on the matter.

Some things I do think though are:

– There is a conceptual divide.

  • Some devs are like –  ‘the software is mine and any customisation needs be done by me or via software that I create’. This school is quite open to more efficient methods like TDD, Unit testing, refactoring, agile etc. but the idea that they’re the ones in control stays at the forefront af the approach.
  • Other devs (I think like me) look at something like SharePoint and go ‘Awesome’ now I can have the customisations taken care of by users who know what they want (or think they do😉 While we focus on building awesome infrastructure and tools to allow them to do it. The classic example is page design/layout. The amount of back and forth that can occur trying to get the design to be exactly what some designer/client wants it to be can easily drive me to drink (not a very long drive on a Friday night I’ll admit😉; So the idea of giving that user tools they can understand and telling them ‘give me a yell when your done’ seems massively appealling. I like the idea of software dev as a ‘role’ versus software dev as a function. Software dev/Information system mgt. has to occur; but whether it’s an individuals whole job (like me) or 10% of everyones job (distributed design tasks) is a question/debate worth having as the world moves on and 90% of your train ride co-passengers spend 80% of their time update facebook pages.

That’s all I got for now but I’ll keep following the issue.