ING web site on SharePoint 2010
Since January of this year I started working for the banking company ING as lead of the SharePoint Competence Center. Since Wednesday the ING web site (www.ing.be) runs on SharePoint 2010.
This public facing site is a highly customized and complex WCM site running on a complex infrastructure. We have two authoring farms that are constructed as a stretched farm, located in two different physical locations. Each farm is consists of one front-end server, one application server and one database server. For the publishing farm we have two farms in two different physical locations. One farm is the active farm, the second farm is the inactive farm. Each farm has 4 front-end servers, which are load balanced, 2 application servers and 2 database servers.
SCOM polls the home page of each front-end server at regular intervals. When 3 of the front-end servers are down, the second farm is activated and the current farm inactivated to correct the situation.
Content deployment to the two publishing farms is done using snapshots of the content database.
We have a number of custom developed components containing different master pages, content types, page layouts, navigation controls, and a lot of other web controls. For translating our pages we use the out of the box Variations. Unfortunately only pages in Page Libraries are variated, so the solution implements event handlers to correctly variate list items. Some product pages contain tabbed web controls. For performance reasons only the data of the first tab is loaded. When the visitor clicks another tab, an http handler fires to avoid a post back of the page to retrieve the needed information.
For search we are not using FAST at the moment, we implemented the standard Search service application that comes with SharePoint 2010 Enterprise edition. We had to implement a custom ranking model to bring product pages higher in the search results than FAQ pages.
We also encountered a number of performance issues before the go live. In a next post I will share the different problems we encountered on infra and application level, and how we solved them.
The project itself was a complex project that took almost a year to complete and asked a lot of effort of different teams: business, infrastructure, development, processes, Microsoft. I never knew project management could be that important. All teams worked seamlessly together – even in periods of high pressure and frustrations – under the lead of the very skilled project manager Rudi Vos.
During this past year I got the possibility to build out a team of SharePoint experts and developers. My team members on this project are: Tom Nys, Sebastien Sougnez (SharePoint MVP), Ludovic Lefort (SharePoint MVP), Ben Graf, Nicolas Claessens, Arnaud Desager and Pieter Gheysens (TFS MVP). It is a joy and an honor to work with all of you! And last but not least, as of the 1st January Stephane Eyskens will join the club.
Seen the plans ING has for SharePoint 2010, it will be a very interesting and challenging 2012!
BIWUG event on 21 December 2011: SharePoint 2010 Multilingual Solutions (Variations) Deep Dive
On 21th December 2011 BIWUG organizes a deep dive session on Variations in SharePoint 2010. This presentation is done by Pascal Benois, one of Microsofts Premier Field engineers and an expert in this domain.
This session will cover level 400 topics on SharePoint 2010 Variations. The following topics will be covered: concepts and internals of variations (page vs. site variations), concepts and internals of configuration, variation Timer Jobs internals, different flavors of variations (automatic, manual, different site templates, same site templates, …), the “famous relationships list”, stsadm and PowerShell commands which assist variations, changes between 2007 and 2010.
Demos will be performed while some coding aspects will be covered. It will be shown how variations can be used for other purposes than just implementing multilingual solutions.
There are 80 seats available. You can register here.
BIWUG event on SharePoint 2010 Multilingual User Interface
BIWUG organizes its next event on Wednesday 30 November 2011 around SharePoint 2010 Multilingual User Interface.
Doing a SharePoint project in a multilingual environment can be tricky. In this BIWUG session we will focus on how the new MUI (Multilingual User Interface) allows for multilingual collaboration scenarios. We will show you how MUI and the SharePoint variations framework relate to each other. Next to showing the out of the box features we will do a deep dive for developers explaining how to use the MUI framework in SharePoint custom solutions. The session will wrap up with some best practices and pitfalls as well as a round the table discussion to exchange ideas.
The presentation will be a joined effort by Joris Poelmans (Real Dolmen) and Andy Vansteenbergen (Ordina). Unfortunately the event is already sold out
Adding an Event Receiver to a Content Type using the Visual Studio 2010 tools for SharePoint 2010
One of my blog readers commented that she tried to add an event receiver to a content type, based on the explanation in one of my older walkthroughs, but wasn’t able to deploy successfully. These walkthroughs are written for SharePoint 2007. If you want to develop for SharePoint 2010 using the Visual Studio 2010 tools, it is a completely different story.
I though, this is an easy one, but as I started to rebuild my sample for SharePoint 2010, I came to the conclusion that Visual Studio 2010 offers you the possibility to add event receivers to different types of list instances and to sites, but not to content types. Some bloggers propose to add the content type to the list instance and then test upon the ContentType field value, but that’s not the way to go in my opinion. I wrote a small walkthrough on how to develop an event receiver for a content type.
Silverlight series in SharePoint Magazine
Recently a new article in my Silverlight series is published in SharePoint Magazine. This is already the 4th part in the Silverlight series. This article explains how you can build your own Silverlight web part using the Visual Web Part template of the Visual Studio 2010 tools for SharePoint 2010.
Next article will be on hosting Silverlight applications from within a Web Part tool pane.
WPF for Dummies: a simple ContextMenu
I’m playing around with WPF lately and I just wanted to create a simple context menu that appears when the user right-clicks a TextBlock control. I defined the following XAML:
<TextBlock x:Name="OperatorTextBlock" Canvas.Top="15" Canvas.Left="0" Width="40" TextAlignment="Center" Foreground="White" Text="="> <TextBlock.ContextMenu> <ContextMenu > <MenuItem Header="Equal" Click="MenuItem_Click" /> <MenuItem Header="Not equal" Click="MenuItem_Click" /> <MenuItem Header="Greater than" Click="MenuItem_Click" /> <MenuItem Header="Greater than or equal" Click="MenuItem_Click" /> <MenuItem Header="Less than" Click="MenuItem_Click" /> <MenuItem Header="Less than or equal" Click="MenuItem_Click" /> <MenuItem Header="Is null" Click="MenuItem_Click" /> <MenuItem Header="Begins with" Click="MenuItem_Click" /> <MenuItem Header="Contains" Click="MenuItem_Click" /> </ContextMenu> </TextBlock.ContextMenu> </TextBlock>
but when I tried to run it, it looked this way:
What the hell! I don’t want the context menu items to be centered! I started googling around but all I found was hundreds of complex samples for highly customized context menus, while all I wanted was a normal context menu with the menu items left aligned. I’m just a SharePoint developer looking for a fancier user interface than a classic Windows Forms application…
After two hours of googling and lots of trials and more errors I finally came up with the following XAML:
<TextBlock x:Name="OperatorTextBlock" Canvas.Top="15" Canvas.Left="0" Width="40" TextAlignment="Center"
Foreground="White" Text="=">
<TextBlock.ContextMenu>
<ContextMenu >
<ContextMenu.Resources>
<Style x:Key="MenuItemStyle" TargetType="MenuItem">
<Setter Property="MenuItem.Template">
<Setter.Value>
<ControlTemplate>
<TextBlock Width="140" Height="18" Foreground="Black" TextAlignment="Left"
Margin="15,2" Text="{TemplateBinding MenuItem.Header}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ContextMenu.Resources>
<MenuItem Header="Equal" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Not equal" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Greater than" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Greater than or equal" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Less than" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Less than or equal" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Is null" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Begins with" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
<MenuItem Header="Contains" Style="{StaticResource MenuItemStyle}" Click="MenuItem_Click" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
giving me just what I wanted:
Techdays Videos and Presentations available!
Techdays 2011 @ Antwerp had some very interesting sessions. All session recordings and slides are available @ www.techdays.com. Besides that, you can also relive the developer sessions on Channle9.
Although I had a session myself together with Serge Luca on Best Practices and Application Lifecycle Management of SharePoint applications, my own top 3 is:
- Silverlight, Windows Phone 7, Windows Azure, JQuery, OData and RIA Services of Maarten Balliauw and Kevin Dockx
- The automated build-deploy-test cycle with Visual Studio Lab Management 2010 by Pieter Gheysens
- HTML 5 and what you need to know by Ingo Rammer
Have fun with these videos! Hope you learn something out of it
Demo Day @ Microsoft Belgium
Yesterday I was at the second demo day organized by Microsoft Belgium. As I’m used to technical presentations, my expectations weren’t that high. But I was so wrong! Almost all presentation were about the cloud and all presentations were done by very skilled people.
I avoided to follow presentations on SharePoint as I want to get a better insight in the other products Microsoft is offering so I followed presentations on Lync, XRM Online, Dynamics NAV, Hybrid Cloud (mixing cloud and on-premise). I just couldn’t resist following the session on FAST given by Jan Tielens: very well built up and very clear, as always. But it was Bart Vierbergen with his presentation on CRM Online and Office 365 that got the drive in me in a higher gear.
And on top of this excellent day, I was so lucky to win the XBox with Kinect! Now I’m awaiting impatiently for the Kinect for Windows SDK beta to become available
Thank you Microsoft for these wonderful technologies!
Silverlight series in SharePoint Magazine
Recently a new article in my Silverlight series is published in SharePoint Magazine. It’s only the second part and describes the basics on how to host a simple Silverlight application in the out of the box Silverlight webpart in SharePoint 2010. It also explains how you can pass data from the Silverlight webpart to the Silverlight application using the InitParameters property. Next article will be about the Silverlight Client Object Model.
This magazine now also has a printed version where 3 of my Silverlight articles are published.
Enjoy the reading!
I’ll be present(ing) @ TechDays 2011 Belgium
Today I’ll give a presentation together with Serge Luca, a fellow SharePoint MVP. We know each other for many years but since January we work together again on a project @ ING.
His part of the session is dedicated to SharePoint Patterns and Best Practices. My part of the session is about Application Lifecycle Management on SharePoint and on unit testing SharePoint applications using Microsoft Pex and Microsoft Moles. Afterwards you can find me at the “Ask the Experts” boot. On Thursday you can find me at the ING boot.
With Microsoft Pex you can create parameterized unit tests while Microsoft Moles allows you to type mock SharePoint objects. You can download the kit here.
The kit has been developed by Peli de Halleux. Peli, you rock!




