How to Create Killer SharePoint Applications with Four Simple Techniques

You’re a developer, or an aspiring developer, on SharePoint, and you’re looking to create the most compelling solutions for your customers or for the public.

Where do you start? I’ll explain my take on the situation.

A CustomAction a Day…

CustomActions is your ticket to user interface nirvana. Mastering either the static CAML-based CustomAction elements, or going to the slightly more advanced dynamic CustomAction elements, allows you to manipulate menus, lists, toolbars, and pages as easily as a few lines of XML code.

Featuring the Handler

Event handling in SharePoint allows you to interact with certain actions happening in SharePoint. You write a piece of .NET code, attach that to the event you want to handle, and poof, you have access to manipulate the event in pretty much any way you can imagine.

Learn to Delegate Control

If event handlers are cool for specific events, imagine how cool it would be to capture and manipulate any page in a SharePoint solution. You need to add a piece of JavaScript to all pages in a solution? Delegate it to a control. Do you want to capture user behavior patterns? A DelegateControl runs on any page, cross-page, cross-site, and cross-application if you like.

Yet Another Application Page

I know, I know, application pages are global and you shouldn’t create new pages for every little thing. However, hear me out. Application pages are often necessary, and learning how to create one has an added and beneficial side effect: The patterns for developing application pages has a lot of similarities with developing web parts. Mastering one will make it a lot easier to master the other.

So, How Do I Create Killer Applications with These Techniques?

Well, consider a few solutions that I have recently made.

  • SPCurrentUsers (on CodePlex)
    SPCurrentUsers tracks users’ behavior in a site using a DelegateControl that runs on every page a user visits. The interface for the administrator is through a dynamic CustomAction that displays the current number of logged-on users. A custom application page provides detailed views of the currently logged on users and their latest page views. Everything is set up and activated using a setup feature handler.
  • SPThemes (on CodePlex)
    SPThemes adds custom themes support to SharePoint by outputting a CSS link though a DelegateControl. Access to setting the configuration interfaces is done through both static and dynamic CustomActions. Two application pages provide site owners and users access to configure the solution. You set up and activate the solution using a setup feature handler.
  • SPSampleData (on CodePlex)
    SPSampleData extracts data from lists and generates a ListInstance element for use in a feature. The list gets a dynamic CustomAction to access an application page for the actual extraction.

Do you see the pattern here? It’s not that I’m a few-trick dog, but rather that these techniques are versatile and highly adaptable, enabling you to create compelling SharePoint solutions with just a few tricks in your toolbox.


Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

Published by

Bjørn Furuknap

I previously did SharePoint. These days, I try new things to see where I can find the passion. If you have great ideas, cool projects, or is in general an awesome person, get in touch and we might find out together.

Leave a Reply

Your email address will not be published.