SP2010: Creating a mixed mode login page for claims based authentication

In SharePoint 2010, claims based authentication provides us with a way of dealing with multiple sorts of authentication in one site. Where in the older SharePoint versions you needed to create a new site for each authentication method (Windows, Forms), you can now use both at the same time. This means all users are visiting the same URLs, which is very nice when those users are passing links back and forth. But the default login screen is… wel let’s just say it’s not that intuitive. Read More

Creating secured BCS objects with BCS Meta Man

We started using BCS in SP2010 to create External Content Types. This is really a powerfull system, and a huge improvement on the ‘old’ BDC approach.

For a project, I needed something more then just a BCS layer to get all the data. Data is being fetched from a 3rd party backend system in which customer data is stored. That data (customers, contacts, addresses, stuff like that) had to be available in SharePoint for reporting purposes. The entire site was accessible for Active Directory users, but also (and there lies the challenge) for external users. Those external users are all linked to a certain customer, but we definitely don’t want to give them access to the entire customer database!

Read More

The big 2010 launch event is near!

Although I won’t be attending (neither in reallife nor online) due to a wedding, I thought I’d just remind you all of the upcoming show from Microsoft. Next week, the 12th of may, Microsoft will be launching Office 2010, SharePoint 2010, Project 2010 and Visio 2010 out into the open. I’m very excited, cause I’ve already been working with these products and things really got a lot better. Of course there are always some miror things which need fixing (still can’t get blog posts via REST in SP2010 for some reason…), but in general all of the above products have made a very good impression on me.

So if you can spare a tiny bit of your time, be sure to tune in into what will be the most exiting launch from Microsoft this year!

2010 Launch Event

Summary:

  • Join Live Keynote and Questions and Answers session
  • View the Project 2010 sessions
  • Join Project 2010 Live Questions and Answers sessions

Check out www.the2010event.com and http://blogs.msdn.com/chrisfie/archive/2010/05/04/microsoft-project-2010-virtual-launch-the2010event-make-some-noise.aspx.

SP2010: Error activating SharePoint Server Publishing Infrastructure

Today I ran into an error when trying to enable the “SharePoint Server Publishing Infrastructure” feature on an existing SharePoint site. The logs told me:

“Feature Activation: Failed to ensure feature dependencies for feature ‘PublishingSite’ (id: ‘f6924d36-2fa8-4f0b-b16d-06b7250180fa’), exception thrown: Microsoft.SharePoint.SPException: Provisioning did not succeed. Details: Failed to create the ‘Site Collection Documents’ library. OriginalException: A list, survey, discussion board, or document library with the specified title already exists in this Web site. Please choose another title. —> Microsoft.SharePoint.SPException: A list, survey, discussion board, or document library with the specified title already exists in this Web site. Please choose another title. —> System.Runtime.InteropServices.COMException (0x81020012): A list, survey, discussion board, or document library with the specified title already exists in this Web site.”

I had never created that library or tried to activate the feature before. So I fired up SharePoint Designer to check what was going on. It seemed that a folder by the name SiteCollectionDocuments existed in that site. It was created by a Silverlight webpart project which I had deployed to that site. I deleted the folder, activated the feature and then redeployed the silverlight webpart and voila: everything was great again!

SP2010: BDC Metadata Store is Currently Unavailable

I was really impressed by the new BCS stuff which I saw @ SPC2010. Offcourse, after installing the beta on my laptop, I wanted to test it out myself. So I downloaded SharePoint designer (which is pretty damn nice compared to the old one), connected to my newly created SharePoint site and clicked “External Content Types”.

Unexpectedly, this didn’t result in a fancy BCS screen, but gave me an error: “BDC Metadata Store is Currently Unavailable”. After some research, I found the following post on MSDN: http://social.technet.microsoft.com/Forums/en-US/sharepoint2010customization/thread/c9deb39e-d3c3-4102-a777-24a6dfed1701/?prof=required. The first fixes in there didn’t do the trick for me though. We tried analysing the results with Fiddler and found out that authorization was probabaly the cause of it, since the webservice requests were denied and followed by 302 redirects to the logon page of SharePoint.

I had my site setup with claims based authentication. I created a new site based on classic mode authentication and voila: it started working! It seems there’s a bug in SPD related to claims based sites, it also seems that this bug is already fixed in later releases, as posted by TAP members in the above forum post. So if all is well: this won’t be a problem any more in the RTM versions.

SP2010: SharePoint not supported with .NET framework version

Today I received two errors when developing a new project for SharePoint 2010.

The first one was the FileNotFoundException on the SPSite constructor. Turns out that VS2010 defaults to a x86 setting for for instance console apps. This needs to be x64 since SharePoint 2010 is x64 only; switch it.

The second one was “microsoft sharepoint is not supported with version 4.0.30128.1 of the Microsoft .Net runtime”, a PlatformNotSupportedException. Weird one, but the MSDN forum post here solved it for me.  You need to add the following to your registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\Chart Controls]
@=”C:\\Program Files (x86)\\Microsoft Chart Controls\\Assemblies”

Then switch your framework versions back to 3.5 and you’re good to go. I assume this all will be fixed in the final RTM version of SP2010.

Update: unfortunately, it seems it won’t be fixed. Because .NET 4.0 is being released at roughly the same time as SharePoint is, the team didn’t got the chance to build SharePoint on top of .NET 4.0. It’s a shame, but it looks like were bound to 3.5 when it comes to SharePoint development.

SharePoint 2010: GetAvailableWebTemplates CollectionNotInitializedException

The new client object model is something which required some getting used to. Most of the data in the objects isn’t loaded untill you request it, even when calling methods.

For instance, the method GetAvailableWebTemplates returns an object of type WebTemplateCollection. You would probably expect that object to contain all the available web templates on your site, right? Well it doesn’t, untill you’ve explicitely ordered the ClientContext to load that collection. So what you want to do is:

WebTemplateCollection coll = rootWeb.GetAvailableWebTemplates((uint)language, false);
context.Load(coll);
context.ExecuteQuery();
 
 And then the collection will actually contain the WebTemplate objects you need.

SharePoint 2010: default site templates

For reference, here’s a list of all site templates which are included in a default SharePoint 2010 installation.

Read More

SharePoint 2010: could not resolve type in class library

Today I was working on one of my first SP2010 projects. I started off with creating a class library which would host some classes providing logic which interacted with the new SharePoint 2010 object model. I also created a console application to test the methods as defined in the class library.

When I tried to build, the types of the classes in the class library could not be resolved in the console application project. That was weird, because I had added the correct references and Intellisence seemed to pick that up.

Visual Studio 2010 has multiple target frameworks for .NET Framework 4.0. One of them is the full framework, the other one is a client subset. The console application was set to the client framework by default, but the SharePoint class library needed the full one. So that messed up the build and therefore the type couldn’t be resolved. Changing the target framework to the full 4.0 framework for the console application fixed the error!

SharePoint 2010: Specified value is not supported for the parameter part 2

It seems the error mentioned in the previous post (“Specified value is not supported for the parameter”) doesn’t only appear on installing SharePoint 2010. Today, I tried adding a new site collection into my newly installed environment, and there it was again! So the solution will probably match the previous one: connecting to the corporate network! I’ll check tomorrow when I’m in again and if it’s not the solution, I’ll update this post.