Silverlight in SharePoint: Overview
In the beginning there was SharePoint, a platform for collaboration and content management. It allows people to work together. It’s an easy task to set up a site where people can share information and manage documents from start to finish.
SharePoint 2007 was already good, but SharePoint 2010 is even better. New features such as taxonomy, document sets, content organizers, and better record management make it to an attractive platform. The user interface on the other side is not that attractive. But with a little bit of branding you can create a new look.
And here enters Silverlight. Silverlight is a powerful development technology for creating attractive and interactive user interfaces.
The first version of Silverlight was released in 2007. It was merely JavaScript based. Almost everybody was skeptical about it, and it was said that it would never have the grandeur of Flash. But as versions come and go, Silverlight has become a full-blown solid technology for designing powerful user interfaces.
A Silverlight application can be more than a pretty user interface created by designers; you can also add code to it to give it a more functional aspect. Because Silverlight classes are a subset of the .NET Framework, it makes it easy for .NET programmers to add the necessary functionality. Moreover, a designer can create the user interface with a tool like Microsoft Expression Blend and hand it over to the developer, who can open it in Microsoft Visual Studio and complete the application.
In April 2010, Silverlight 4 was released with yet another new set of features.
From the first version of Silverlight, I have been involved in the integration of it into SharePoint, and I’m convinced that Silverlight can play a powerful role in the branding of SharePoint sites. Silverlight applications can communicate with a SharePoint site and thus render SharePoint data in an attractive way.
The first versions of Silverlight were hard to integrate with SharePoint, asking for a number of modifications in the web.config file of each SharePoint web application. It drove a lot of SharePoint developers (and even a number of well-known SharePoint gurus) mad. As of Silverlight 3, this hurdle has disappeared.
In SharePoint 2007, communication was possible only through the SharePoint web services or through custom WCF services. But SharePoint 2010 comes with a set of client object models that makes it easier for developers to have a Silverlight application communicate with SharePoint.
In SharePoint 2010, Silverlight is already integrated out of the box: if you want to create a list or a site, you are presented with a Silverlight wizard. SharePoint 2010 also comes with a Silverlight web part that lets you render a Silverlight application that you uploaded to a document library or deployed to the SharePoint hive. There is also the out-of-the-box Silverlight media player. This is a Silverlight application that you can host within the Silverlight web part and that displays your media files.
A View on the Future
In December 2010, Scott Guthry announced Silverlight 5. This version of Silverlight will add some great new features and capabilities for premium media solutions across browsers, desktops, and devices. The first beta version of Silverlight 5 is expected in the first half of 2011.
Silverlight for Windows Phone is the application development platform for Windows Phone 7. Silverlight uses the XNA framework for audio capture and playback and can even access Xbox Live. This XNA framework is provided by Microsoft for high-performance gaming, used on Xbox.
In 2010 we entered the mobile phone era. We use our mobile phones for calling people or sending short messages, but more and more we are also using the Internet from our phones. Many companies see the hole in the market and start developing mobile phone applications. The banking sector, for example, will offer its services through mobile phone.
In that light, I believe that there is a future for SharePoint-based applications running on mobile phones.
What to Expect from This Series
When I talk about Silverlight integration in SharePoint, most developers think about web parts. But this integration can reach far beyond that. You can host Silverlight applications from within most SharePoint artifacts such as custom fields, custom list forms, list views, application pages, master pages, navigation, search, and so on.
At the same time, we will demonstrate the different options for deploying a Silverlight application. The application can be deployed to a document library, as well as to the SharePoint file system, or as an embedded resource if you don’t want others to use your Silverlight application.
We will build and extend a SharePoint demo application through this series. The application allows members to offer services and accept services in return. For example, John likes to garden, but he is lousy in the kitchen. Through the application he can offer his services as a gardener and accept Suzy to cook him a delicious meal.
Part 1: Overview
This series of articles will walk you through the different techniques that you can use to integrate Silverlight 4 in almost any SharePoint 2010 artifact. In part 1, this article, I’ll give you an overview, both of Silverlight and the remainder of the series.
Part 2: Integrating a Silverlight 4 Application in a SharePoint 2010 Web Part and in a Web Part Tool Part
In the second article in this series, I will explain how you can integrate a Silverlight 4 application in both a Visual web part and a classic web part. More complex web parts can be configured in a custom tool part. Silverlight can also be hosted from within such a tool part.
The web part will show a dynamic banner that displays the services offered that day. This web part can be added to the home page, for example. In the tool pane, the editor of the web part will be able to choose a background color using a Silverlight color picker.
As the offered services are stored in a SharePoint table, they need to be retrieved by the Silverlight application before they can be displayed in a dynamic banner. This can be achieved by using the Silverlight Client Object Model and will also be highlighted in this first part.
Part 3: Using a Silverlight Application in a Custom List Form
Custom list forms can be defined when working with custom content types. When you define a content type, you can go for the classic list forms, but you can also define a custom list form to offer a more attractive and intuitive user interface. This argument makes this SharePoint artifact as an excellent candidate for hosting a Silverlight application.
If you want your Silverlight application to be something more than a fancy header or footer and you want it to play a functional role in your list form, you will have to put some extra effort in the way you save and display the data. In this sample, a user will be able to post a new service offer or modify certain properties of an existing service.
Part 4: Hosting a Silverlight Application from Within a Custom Field Type
As you will see in part 4, hosting a Silverlight application directly from within a custom list form has its own particularities. Therefore, encapsulating functionality in custom fields makes integrating Silverlight even easier.
Part 5: Hosting a Silverlight Application from Within a SharePoint Application Page
This page will allow members to manage their offered services and choose the service they want to get in return for it. In part 5, we will see how this is done.
Part 6: The Silverlight List View Style
SharePoint lists have a number of standard view styles that you can apply when creating views. You could develop your own view style using Silverlight to show the content of a picture libraries in a far more attractive way.
Part 7: Using Silverlight to Enrich the Master Page
Master pages are used to ensure a standard look and feel through the whole website. You can decide to integrate Silverlight into this standard look and feel.
Part 8: Replace the Top Navigation Menu Bar by a Windowless Silverlight Application
This sample will demonstrate how you can replace the classic quick launch and the top navigation bar by a Silverlight application. By making the Silverlight application windowless, you can avoid that the content of the page moves down while submenus fly out.
Part 9: Empowering Sandbox Solutions with Silverlight
Since SharePoint 2010, sandboxed solutions seem the way to go because each solution runs in its own isolated process without endangering the whole system or eating too much resources. The drawback is that the offered functionality has a number of limitations. By using Silverlight in your solution, you can circumvent certain of these limitations.
Part 10: Integrating the Silverlight PivotViewer in SharePoint Search
The Silverlight PivotViewer is a Silverlight application that makes it easier to interact with massive amounts of data in ways that are powerful, informative, and valuable. You could integrate this PivotViewer on a search page to build an informative and attractive search experience.
Part 11: Integrating Silverlight in a SharePoint Workflow
Integrating Silverlight graphs in the task pages of a custom approval workflow can make the decision process easier.
Part 12: Integrating WPF in an Office 2010 Task Pane
Silverlight is in fact a subset of Windows Presentation Foundation. Like in Silverlight, the user interface is defined in XAML, and functionality can be added in code behind. This article will demonstrate how you can host a WPF application from within an Office task pane. Because this application does not run within the SharePoint context, you cannot use the Silverlight Client Object Model. However, there are a number of alternatives to access SharePoint information, such as, for example, using the REST services.
Part 13: Using the SharePoint Web Services from Within Silverlight
Another way to access SharePoint data remotely is using the SharePoint web services. This technique is certainly valid when working with SharePoint 2007 data, whether the Silverlight application is running in or out of the SharePoint context.
So, that’s what I have coming for you. Over the next months, join me on this journey to explore Silverlight in SharePoint, and you’ll learn how to effectively utilize this great technology to make your SharePoint adventures that much more user friendly.


March 1, 2011 







About the Author
No comments yet... Be the first to leave a reply!