HowTo

HowTo

Debugging Excel Services UDFs using Visual Studio 2010

Debugging UDF’s is not quite as simple as debugging other SharePoint artefacts. The UDF is called by the Excel Services service application which runs as a separate process. Bearing this in mind we have two options, we can either attach our debugger to all instances of the w3wp.exe process, or we can find out which process is being used to run service applications on out server. Discovering the ProcessID used to run a User-Defined Function Even though I’m sure that everybody will take the lazy option of attaching to all worker processes, here’s how we can find out...

How Deploy a WCF Service To SharePoint 2010

The new packaging and deployment stuff for SharePoint 2010 is certainly a lot better than VSeWSS but there are a few things missing, such as the ability to add a WCF service as a project item. One of these days I’ll build a template to do it but for now here’s a quick step by step guide. Add SVC file to Layouts folder To make a Windows Communication Framework service available we need to host it somewhere. Since SharePoint runs on IIS, we need to create a .svc file with details of the service implementation. Of course before...

Disentangling Render Patterns

I few months ago I posted on RenderPatterns and how they are used when creating custom fields for SharePoint. In that post the point I was trying to make was that when viewing data in a list nothing else matters except the render pattern. None of your highfalutin C# SPField derived classes can save you from the madness that is the render pattern. Never mind what MSDN says about using an .ascx control - there is no other way. So with that said, given that we’re stuck with the render pattern, it would be good to know a bit...

Automatically generating thumbnail images in SharePoint

When you upload images to a SharePoint picture library three images are actually stored. Firstly there's the actual image that you uploaded then there are two others with specific sizes. There’s a thumbnail image that’s scaled to a particular width and is used in the default ‘All Pictures’ view then there’s a web image that’s resized to a specific width and height. The thumbnails are saved to a hidden folder in the picture library named _t and the web images are saves to a hidden folder named _w. Let’s say you have a few web parts that make use...

Extending Linq to SharePoint

I’ve been doing a lot of work with Linq to SharePoint over the past month, creating content for my new SharePoint 2010 development book. You know it’s a strange thing writing a technical  book, when you first start out you wonder how you’ll fill the pages. As you get into it though you very quickly find that there’s a lot more stuff you’d like to add but don’t have the space. I like to take things to bits completely before I start wiring about them. It’s always good to know where the limits are before you think about scenarios...

In Depth: SharePoint Security Configuration – Part 1

The source code for this article is available on CodePlex Introduction If you’ve been developing applications for SharePoint for any length of time you’ll undoubtedly have come into contact with the security model. Based on the asp.net provider model, SharePoint itself does not authenticate users, it merely provides authorisation. That is to say that SharePoint does not verify that users are who they claim to be, it simply makes use of the users identity to determine what resources should be available to the user. Of course this does not mean that user identities are not verified, just that...

Creating Lookup fields in CAML

A few weeks ago I promised to post a few articles about extending CAML to deal with some of the elements that you’d normally have to write code in order to package. To be honest I’ve been putting it off in the hope that SharePoint 2010 and VisualStudio 2010 would make all these problems go away but it seems that that isn’t going to happen, at least not completely. So no more excuses, I may as well get on with it! I wanted to cover Lookup fields in this post. Somebody recently asked about this on the forums and...

HowTo: Read Workflow Status Text

Ever wanted to be read the Status text displayed on WrkStat.aspx programmatically so that you can make use of it elsewhere? No? Can’t blame you! However, let’s say that you do fancy a bit of masochism. Here’s how it works: The status value is stored in a field of type SPFieldWorkflowStatus. Generally this field has the same display name as your workflow although it’s internal name will be different. Getting the internal name is a pain, for some bizarre reason Microsoft decided to expose this as an internal property rather than public. (See SPWorkflowAssociation.InternalNameStatusField). After...