Fabian Williams SharePoint Blog

Solving problems with SharePoint day and night

Yes! Definitely use the Facebook Social Connector for Outlook – Just make sure you lock down your Facebook

Synopsis/Rant/Rave – Call it what you want

So if you know me well, you know that I am an avid blogger, always on twitter, I have my twitter feed my LinkedIn and my Facebook and probably the only thing I don’t expose to the outside is my SharePoint MySite at work. Now with the advent of the Facebook Social Connector for Outlook that you can get here, that opens up a whole new ball game in terms of how connected you are to the folks that you share an email with, or any email chain you find yourself being a part of.  Now, I am all for social interaction using these technologies, I am just warning folks out there that if you think it is a plug and go situation, AND you meet any of the below criterias; your goose may get cooked royally:

  1. Your Facebook Account is left at the Default Privacy Setting
  2. Your Facebook Account is purposely set to be very open “Everybody Access” to all or most elements
  3. Your Friends on Facebook have non-professional statements or well… colorful statements that they post to their wall
  4. People that you may exchange email with AND ARE NOT YOUR FRIENDS but their Facebook Profile is OPEN have non-professional statements or well… colorful statements that they post to their wall

Now a flip side to that and the reason I am writing this blog… If you get SPAM from folks [Unsolicited Emails] and you want to know more about that person; and their Facebook Profile is something other than protected, well lets just say “…You can get all up in their business", for good and not so good reason. Take for instance the below.


An Unsolicited Email I received today after Installing the Facebook Connector – and what I could find out about the person

First here is the email…I have redacted most of the identifying information for the person as well as their mind you “Publicly Available” Facebook Information about them and their friends.


So the first thing I did was click on their Album, lets just see what pictures are out there… 


Now I am able to see the persons comments… now maybe there are more Albums out there that are restricted, which is good, but now you have to MANAGE your Facebook Profile Pic because you DO NOT KNOW who’s desktop it may show up on based on:

  • An email YOU sent
  • An email YOU sent that is then FORWARDED
  • An email SENT to YOU and a group of OTHER folks who you may or may not know

well you get where i am going with this… anyway so now I decided to review comments…


and finally, I decided to look at the persons Info, now I also looked at the Wall and I did click on All Friends… but I am not going to put all this guys business on the street although it is again “Publicly Available”. 



Closing Thoughts

This is a brave new world we live in. Facebook in my opinion does not manage its users Privacy very well to begin with; but then again, they make money, and lots of it by partnering/selling to ad agencies via those Apps you so love every day.  It is up to you to be mindful of that fact and manage your own profile as best you can. A professional consultant like me who is always “Client Facing” can get into grave danger [yet again lol] If somone’s Wall Post is visable to a client while i am on-site and the comment is well…offensive or unflattering or.. well you know. Now I would be remised if i didn’t say some Positives about this.


  1. Now you can verify and validate folks from your Outlook before interacting with them
  2. If your kids or other family/associates/colleagues are on FB, now you can see what is going on even while you are at work
  3. You are in the business of aggregating data 🙂
  4. Your business thrives on social mechanisms to promote activities or events at your establishments (Bars, Pubs, etc.)
  5. You want to live like that

And notwithstanding that, of course the Social Connector has benefits to SharePoint MySites, which I promote every single time I am at a client, or speaking at events, or bars, or anywhere you can find me.

My final Edict

Be Ye Forewarned!

July 14, 2010 Posted by | Facebook, Office 2010, Office Social Connector, Outlook 2010 | 1 Comment

Error/Resolution: Could not load type ‘System.Data.Services.Providers.IDataServiceUpdateProvider’ from…


Cryptic message huh, but basically i got a tweet from @dfollette regarding using the Client Site Object Model (CSOM) in SharePoint to gain access to List Data and other LOB System and he also had a reference in a Web Cast to do the same thing using the REST API.  Even as tired as i was at 1:16 am in the morning it would just eat at me in bed, so i decided to review it before I tuck in.  However, when I tried to review the REST API by using a SharePoint Web Service I got an error…

The tweet was:


The Error was:




So after a little research I found this blog entry “REST and SharePoint 2010 Quick Start Guide: Table of Contents” on Scott Currier Blog; and it indicated that you need to install install the ADO.NET Data Services Update for .NET 3.5 SP1 Depending on what flavor OS you are running you may need one over the other, the one i need was here because I am running WIN 2 K8 R2 http://www.microsoft.com/downloads/details.aspx?familyid=79d7f6f8-d6e9-4b8c-8640-17f89452148e&displaylang=en

Once you install it you will be prompted to restart.



Trust but Verify

So after my reboot, let us now go to my SharePoint Site Collection and query the REST API again.

What i wanted to test was a little nugget I learned from the web cast…


You know come to think of it, I should have done a snapshot before running that update, but oh well, with finger crossed…


and it worked, lets drill down now


Looking at the XML you see the actual data..


July 6, 2010 Posted by | SharePoint 2010, SharePoint 2010 RTM, SharePoint Bug, SharePoint Development, SharePoint Error/Resolution, Strange Stuff | Leave a comment

How To: Create Content Types with Site Columns in Code Visual Studio 2010 for SharePoint 2010

Synopsis: So why would you Ever Ever need to feel the pain of creating Content Types from scratch and associate Site Columns also in code with them? Well, the one glaring reason is that if you create site columns and content types out of Code, you loose the control of assigning the GUID which is in effect the id designator of the object.  If you cannot control that, then as you move through a proper SDLC with a DTP environment, you in essence loose control over the same ID’s [objects] being the same across all the environment.  The second reason is that you have a clean and automated way to deploy your solution to any environment, inherently you could package and sell this solution if you wanted to.

So how do you do it?

Sahil Malk (@sahilmalik)has a great book in Building Solution in SharePoint 2010 and he has a great chapter on this topic. I used that as my premise for creating a full fledge Content Type with Site Columns to boot. Doing this in Visual Studio 2010 on SharePoint 2010 and the entire process to deploy is so easy now, even a caveman can do it.

Like Bud Light — Here we go!

First we need to start a new SharePoint Empty Project and start to build your solution out.


Next, and very appropriately, we are doing this as a Sandbox Solution because EVERYTHING we are doing for this effort will be in the Database, nothing will be on the File System. This is where you as a developer can do all the damage you want without worrying about the Farm Admin calling you saying “…hey dude, you brought down the server..” will never happen, sure you can bring down the Site Collection but hey, thats on you buddy..


Once you have your Sandbox Solution set, lets had some “SharePoint Items” first will be a Content Type


As you see below, I am calling mine AdotobClient. The idea here is that for my company Adotob, LLC, I am creating a Content Type that inherits from the Item Content Type which will hold Client specific data. The important thing here is that as a Content Type, this can  be used all across the Enterprise in any Web by anyone.  Build it once, use it many.


Once named, now your project will look like this.


As I mentioned before and as you will see below, everything in SharePoint inherits from a base, in this example I am inheriting from the Item Content Type, the wizard asks me to choose and i selected my choice



Now we will do some clean up. When you add the Content Type, you also get an elements.xml file created for the definition of the Content Type, now realistically if this content type is to be of any use, it will need Site Columns, but for now, we will just rename the elements.xml to something more descriptive.



So, this Content Type will have a few site columns to express what it is about the client we want to capture, it will be of many data types, text, date/time, etc. lets go and add an Empty Element which will be the Site Columns and populate the Elements.xml with the fieldtypes.


Before we do lets spot check what our Project looks like now.


As for clean up, lets rename the Site Columns elements.xml to a more representative name…


Lets us now flesh out the Site Columns, as you see below i am capturing all the necessary information one would capture about a client. Name, address, contact info, social content, etc. Below I use the Make Guid tool in Visual Studio to create those Field ID’s, and i with all my cut and paste, i screwed up the last entry, that type was to be a Text but i left it as date time.. oops.


Once we do that, we now associate those site columns via the GUID [Field ID == Field Ref] in what was the elements.xml of the Content Type


Once you are done, go ahead and build and deploy your solution. Oh make sure that you have Sandbox Solution Service turned on in the Central Administration before you do that, it is not on by default. Below if you inspected your Site Settings at the top level you will find the new Content Type

Trust but Verify



Click inside the Content Type, and you will find the site columns we defined.


Once we have done that lets spin up a new Custom List. We will include this content type in there and create an entry


To do that we need to manage content types…


We select the one we created and move it over


I also disabled the Item default content type what was there before so the only one that is an option is the one we created.. see below


Now we will make an entry for a new client



And our result is..


Voilla! you have a Content Type with Site Columns that you can manage NOT ONLY across the enterprise, but between Development, Test and Production Environment.

As usual, your comments, critique and questions are welcomed.

July 3, 2010 Posted by | Content Types, SharePoint 2010, SharePoint 2010 RTM, SharePoint Development, Site Columns, Visual Studio 2010 | 8 Comments