Collecting Souls: Knowing Your Social Media Strategy – Part Two

In Part One , I wrote about how I choose to use Facebook, LinkedIn, Foursquare, and Twitter. Those are all “external” social media outlets, in that they are available to anyone on the World Wide Web (assuming that their government or employer doesn’t block them or some other such nonsense).

But what of SharePoint? As with almost all of my blog posts, this one comes back to SharePoint. You thought I’d let you get away without it this time?

Those of you who use SharePoint inside your organizations may already be wrestling with you own social strategy for My Site alone in SharePoint 2007 or the expanded social features in SharePoint 2010. I’m a one-man show, so I don’t have those issues; no one would ever look at my My Site profile!

I’ve been thinking about the “social” aspects of SharePoint a lot lately because of some work I’m doing. Many organizations struggle with how to think about using social features in the enterprise because, while they may use the phrase “Facebook for the Enterprise”, that’s not really what they want. They want people to be doing their work, and doing it better than they would without SharePoint and its social capabilities. They don’t want people frittering away the day with their profiles and status updates a la Facebook.

Similar questions arose ten years ago or so when all of the instant messaging platforms really went mainstream and people we’re all of a sudden pinging each other asking what was for lunch. Many organizations were easily able to block these services because they initially lived outside the firewall. However, they eventually saw value in the technology and now many, many organizations have some type of instant messaging in house.

“Social” stuff is going through some of the same growing pains. Organizations are trying to understand how social can bring value and ROI while not becoming a waste of time. They are also trying to figure out what “social’ actually is, and the definitions vary from place to place. There’s a fairly high investment to get a platform like SharePoint up and running (which is probably happening for other reasons, mainly). To get the social features of SharePoint up to snuff, there seems to almost always be a need to layer on some third party tools like those from CubeTree, NewsGator, or others, or to do some significant custom development. These add-ons add even more to the cost and time to implement. So it’s a non-trivial set of decisions about how or whether to move forward with building social media into the enterprise.

What most organizations want is the new idea of the ‘connected enterprise”, and not just “social”. They want to make serendipitous connections between people which can result in innovation or leaps in efficiency. Understanding exactly how to do that within each organization is a tricky problem to solve. There’s no one-size-fits-all answer. I expect that it will take at least a few years for most organizations to even understand where to start with all of this.

In the meantime, the Web at large will be moving forward as rapidly as it always does. Who knows what will be de rigeur by the time most organizations make their first serious forays into social media or the connected enterprise internally? Will they do it well? Will they go “all in”? I look forward to working with more organizations as they undertake this next step in their SharePoint Journeys.

How to Fix "Sys.ArgumentTypeException: Object of type ‘Sys._Application’ cannot be converted to type ‘Sys._Application’." Error

Image representing NewsGator as depicted in Cr...

Image via CrunchBase

In one of my client projects, we kept seeing this error, and basically ignored it for a long time. In our case, we saw the errors specifically on pages that included NewsGator Web Parts and we thought they might be the problem, but it was actually a problem with the SharePoint AJAX settings which NewsGator would have initially installed, but which had been changed many times by other installs and/or people.

A typical full error looked like this:
Sys.ArgumentTypeException: Object of type 'Sys._Application' cannot be converted to type 'Sys._Application'.
Parameter name: instance  ScriptResource.axd?d=3OFwNP2OqissPVnq69wL3hN2bp71o6_alyDiAQ4AtZb7FI9MYnlhIQdNZXDeHZVNPXrWlmYq-0mnuHvEHRe7gW131sU6muSFCaVlWX7ED1k1&t=45c7299c, line 1559 character 43

I did a lot of searching on the Web, of course. Everything I found seemed to be from 2007 or earlier and have to do with asp:ScriptManager. Most of the suggestions said to set the ScriptMode attribute of ScriptManager to Release, so from this:

<%--<asp:ScriptManager ID="ScriptManager1" runat="server" />—%>

to this:

<%--<asp:ScriptManager ID="ScriptManager1" ScriptMode="Release" runat="server" />—%>

This didn’t have any effect for us, unfortunately. FYI – the ScriptManager will be in your master page if you have SharePoint AJAX enabled.

After a *lot* more fishing around (I get tenacious with this stuff once I start – I don’t like to see *any* error messages, because they tend to “cascade” on you.) I found the problem.

In this case, the web.config file had been built up over time with little documentation of the steps involved, who did what, etc.  In other words, pretty much the usual state.  SharePoint had been put out there, its use expanded virally, they tried a lot of different third party things, some of which stayed and others were removed, etc.

Somehow in all of that back and forth, in the line highlighted below, debug had been set to “true”. Setting it to “false” fixed the problem.

<globalization fileEncoding="utf-8" />
    <compilation batch="false" debug="false">
        <add assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        <remove expressionPrefix="Resources" />
        <add expressionPrefix="Resources" type="Microsoft.SharePoint.SPResourceExpressionBuilder, Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        <add expressionPrefix="SPHtmlEncodedResources" type="Microsoft.SharePoint.SPHtmlEncodedResourceExpressionBuilder, Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        <add expressionPrefix="SPSimpleFormattingEncodedResources" type="Microsoft.SharePoint.SPSimpleFormattingEncodedResourceExpressionBuilder, Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        <add expressionPrefix="SPUrl" type="Microsoft.SharePoint.Publishing.WebControls.SPUrlExpressionBuilder, Microsoft.SharePoint.Publishing, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />