Archive for the ‘SharePoint’ Category

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).

References: – series of diagnostics to test connectivity from the SharePoint application server to the SQL Server. – someone experience same issue as us. – 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: Tanzil Malek suggested checking the
licence status in Central Administration. – mentioned the ‘Licence Synchronizer Job’ which might be important. – Microsoft Hotfix that indicates the issue maybe something to do with a bug in the SP2 installation.

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.

Woah XSLT is huge in SharePoint … Captain obvious strikes again.

April 29, 2010

Ok so I guess anyone who’s done a decent amount of SharePoint front end work is laughing at me right now (Yip i think i can still hear the giggling through the Inter-ether), but I’ll perservere none the less cause I think the only way you get along in this gig we all share is to admit when you don’t know and to ask a few questions when your peering into what could quite possibly be a bottemless abyss of technical bligle-bleh (new word just trying it out now.

So I started playing around with designer … (waits for laughter to cease). Previous to this I’d avoided the tool (mostly) cause I’d heard and experienced that most of the work you produce with it is hard to replicate/backup due to database (un)ghosting in SP and the fact that you have to work on a live sharepoint instance. Though mostly I imagine it could have been related to me loving my nice familiar VS 2008 tools and not wanting to take a walk in the dark scary forest.

And so we go on …

I updated a NewForm.aspx page using the designer to meet a requirement to add some new fields to the form. Things started to head down hill from there. I’d decided to work on a copy of the current page by saving it as a new file name ‘NewPage_mod01.aspx’ but despite this Designer some how made this new page the live page. This scared the bejezzus out of me as I quickly had live-users asking me why the page was broken (NOT GOOD) 😦

I found I could back track this behaviour by deleting the new pages, at which point SharePoint would go back to using the pre-existing page. I’m yet to find out what lever is making these changes but believe you me I’ll comment if I do find out. So far I’ve found a context menu associated with the SharePoint list that allows you to associate it with specific pages but when I make the changes to this dialogue no changes are reflected on the SharePoint farm 😦

Anyways … the context of all this is that to make the modified changes work I discovered you had to look deep into the question ‘what makes a form in sharepoint’

The answer (so far).

Content Type
PageForm (eg NewForm.aspx).

Inside the NewForm.aspx are things to explore like

  • ListFormWebPart
  • DataFormWebPart
  • ContentEditorWebPart

The DataFormWebPart is in turn broken down into.

  • DataSource (Items from a SPLIst for example)
  • Parameters (like they sound)
  • XSL (New it had to crop up eventually.

I guess the intersting thing I observed (and will continue to investigate) is that XSL/HTML will allow you to pretty much do anything you want to the SharePoint visual/logical layout/presentation. Of course I’m exagerating a little bit and this is likely to be limited by other aspects of the SharePoint architecture and my own technical boundaries, but still to find out how simple it is at its core is somewhat exhilirating.

Sorry for the long post, but I felt there was quite a bit of context for my endpoint.

CMIS – Proposed standard for services on content mangement systems … I think

April 28, 2010

This slideshow appears to have a cr*pload of information about a new standard called CMIS.

My takeouts:

  1. M$ and SharePoint 2010 will be CMIS friendly and may even support it directly.
  2. CMIS is interesting enough that folks over at codeplex have bothered to support it backwards into MOSS/WSS 2007
  3. Looks like the idea of being able to connect information repositories without having to totally refactor them is one that people are starting to latch onto.
  4. This would be a good knowledge blob to get out in front of if you were interested in playing in the Electronic Content Management (ECM) space, which I may well.

WSPBuilder to GAC or not to GAC

April 23, 2010

WSPBuilder awesome project, if you deploy sharepoint projects and haven’t heard of it (what rock have you been hiding behind) absolutely 100% check it out.

That said little bit of behaviour that I didn’t get (it may well be documented) until I messed around with this a little with my good buddy Puja Dhanetwal from Vision Australia.

When you run WSPBuilder if any referenced dll’s are already in your machines GAC WSPBuilder won’t include them in the solution package. If they (the referenced assemblies) are NOT in the GAC then WSPBuilder WILL include them. For a short while (pre-experminatation) this behaviour mystified me, but now it seems pretty straight forward.

Short and sweet.

I’m converting a manual deployment SharePoint project to feature deployment at the mo. and WSPBuilder and SPSource are like my sword and shield in a battle against the maraudering hordes of unbelievers 😉

Tell your SharePoint Admin you were right about me … you were right

April 21, 2010

Just started reading this white paper by Jeremy Thake (note you’ll need to register or ping Jeremy to get a copy of the paper, free and pretty painless).

What I love about this paper, which provides guidance on how to build and deploy SharePoint apps in a robust manner is, at the very least, twofold.

i) It validates and provides additional rationale behind things that I would generally, if asked, report to be ‘best practice’ or a smart way to get things done. This is good because it gives me great ammo when I’m trying to back up my rationale against folks who don’t believe or wan’t to take short-cuts (mostly cause they don’t believe and in that case who could blame ’em).

ii) (This is my favourite) it shows me all the alternate things I might have been doing if I wasn’t doing the ‘best practice’. The context of any decision to do something is generally all the things you’re deciding not to do and the associated rationale behind not doing them. This, being a relative (couple of years) newbie to SharePoint app development is something I want to improve. It makes for a much more persuasive mgt. argument then “But it’s not best practice” to be able to say, “Well if we do that I anticipate the following unfortunate consequences that maybe we can/can’t live with.

In summary I’d recommend just about everyone to at least browse the index of this white paper to cross-check your view of SharePoint App. Life Cycle ‘Best Practice’.

For those of you wondering the subject line is a reference to Return of the Jedi when Vadar has his mask revealed and validates Luke’s assessment that there was good in him all along despite the dark/evil exterior.

You call him Doctor SharePoint.

April 18, 2010

This article explains just how much of the SharePoint API is accountable to unmanaged code. This also gives a good heads up the necessity of properly disposing of SharePoint objects.

I have to say this kind of article kind or excites and scares me. I definitely get the feeling that I’m reading the good stuff (arcane knowledge generated by people that really understand; but I also am staring straight at the face of a some concepts that I only barely understand (COM objects anyone) which is a little daunting.

I guess metaphorically it’s kind of like that movie ‘Indiana Jones and the Temple of Doom’ but I’m more like the shrill-screaming Blondie than the eponymous calm collected archaeologist. Still I guess she had her moments, and SharePoint continues to prove to be one hell of an adventure. 

Fortune and glory kid, fortune and glory.

Accessing field data from ListItems

April 15, 2010

This guy has almost all the information you need.


i)   Check that the field exists
ii)  Check that the field value is not null
iii)  Happily use the value contained in the ListItem to your hearts content.

The linked article used the ‘ListItem.ContainsField’ to avoid some nasty exceptions that can crop up with missing fields.

Check for null values is my lame little value add that tripped me up and I thought it might help remind me (and others) to write it down here.