Karine Bosch’s Blog

On SharePoint

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!

December 17, 2011 Posted by | SharePoint 2010 | Leave a Comment

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.

December 14, 2011 Posted by | Uncategorized | Leave a Comment

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 :)

November 24, 2011 Posted by | Uncategorized | Leave a Comment

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.

 

October 12, 2011 Posted by | SharePoint 2007, SharePoint 2010 | Leave a Comment

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.

October 3, 2011 Posted by | Uncategorized | 2 Comments

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:

Context menu with centered menu items

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:

June 11, 2011 Posted by | WPF | 2 Comments

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:

Have fun with these videos! Hope you learn something out of it :)

June 7, 2011 Posted by | Uncategorized | Leave a Comment

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!

June 2, 2011 Posted by | Uncategorized | 3 Comments

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!

May 23, 2011 Posted by | Uncategorized | Leave a Comment

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!

April 27, 2011 Posted by | SharePoint 2010 | 1 Comment

Follow

Get every new post delivered to your Inbox.

Join 53 other followers