Friday, December 21, 2012

Unable to use Windows Phone 8 Emulator without SLAT support

After installing the Windows Phone 8 SDK I got an error stating that hardware virtualization was not supported on my machine therefore I could not use the emulator.

Apparently there are two requirements for your machine to meet to support the Windows Phone 8 emulator:

  • Support for hardware virtualization in the form of either Intel-Virtualization Technology (Intel-VT) or AMD-V (also called SVM)
  • Support for Second Level Address Translation (SLAT) – see How to Check if your CPU supports SLAT – on Intel CPUs this is also called Extended Pages Tables.

This is caused by the fact that the Windows Phone 8 Emulator is using the client version of Hyper-V (which ships with Windows 8 client OS) which requires SLAT. The Hyper-V server does not.

Because I don’t have a Windows Phone 8 device on hand – I’m pretty much stuck building Windows Phone 7.1 apps.

Technorati Tags: ,,,

Thursday, December 20, 2012

First sessions announced for TechDays 2013 Belgium - early bird discount available

TechDays 2013 will take place on 5,6 and 7 March at Kinepolis Antwerp – the agenda is slowly filling up. For SharePoint developers there is an interesting pre-conference deep dive track with sessions by Dan Holme, Serge Luca and Lieven Iliano.

SharePoint sessions:

During the main conference no SharePoint sessions seem to be scheduled which is quite strange because the goal of the new SharePoint app model was to open up SharePoint to the average .NET developer.

Tags van Technorati: ,,

Tuesday, December 04, 2012

Exploring search driven applications with SharePoint Server 2013

Activating Windows 8 Enterprise and changing the key

If you install Windows 8 Enterprise Edition from MSDN you probably notice that you don’t need to enter a key. But after installation you are required to activate the software and this doesn’t work without entering a key. If you want to enter the key you have to go to command prompt  (remember to run with elevated administrator privileges) and type the following slmgr.vbs -ipk "YOUR_PRODUCT_KEY".

Tags van Technorati: ,,

Sunday, November 25, 2012

BIWUG session 13 december 2012– Fun with SharePoint 2013 Social, the REST API and Windows 8

Unfortunately the next BIWUG event is already fully booked but if you add yourself to the waitlist we might try to get you in when cancellations come in. Topics on the agenda are:

  • Office 2013 and SharePoint 2013 integration: There is a close integration between Office and SharePoint. In this session you will discover the integration between Office Applications (Word, Excel, PowerPoint, Access, and Outlook) and SharePoint. We will also talk about real collaboration with SharePoint. (Speaker: Patrick Sledz)
  • Fun with SharePoint Social, REST API and Windows 8: This is adaptation of a session delivered at SharePoint Conference 2012 in Las Vegas  - Windows 8 Metro Style Apps offer a rich user experience that is perfect for exposing data from SharePoint 2013. In this talk, we'll make use of the new SharePoint 2013 REST API to retrieve data from SharePoint and visualize it in a custom Windows Store app. We will built a Windows 8 App which integrates with the new social and search features in SharePoint Server 2013. Finally we will take a look at what is needed to deploy an app to the Windows store. (Speaker: Joris Poelmans)

Register for SharePoint Day Belgium – Bringing Las Vegas to Brussels

This event aims to help you get up to speed with the new and improved features in SharePoint 2013, explain what they mean to your organization and how you can benefit from these enhanced features. Register now on http://eu.avepoint.com/sharepoint-day-brussels/

I will be presenting a session on the new search features in SharePoint Server 2013. Other speakers include Jeremy Thake (AvePoint) , Mike Bueltmann (Knowledgelake, Adam Castle (K2) and Abi Onifade (AvePoint).

Tuesday, October 23, 2012

Why you should take a look at SQL Server 2012

For a full overview check out the SQL Server 2012 What’s new whitepaper

Monday, October 01, 2012

Nominated as SharePoint MVP for 2012

I just got the news that I have been renewed as SharePoint Server MVP. I became a SharePoint MVP in 2005 – so this is my 8th year in a row as SharePoint MVP – back in 2005 there were only a handful of SharePoint MVPs and I’m forever grateful to Patrick Tisseghem for introducing me into the wonderful world of SharePoint – without him there wouldn’t be such a vibrant SharePoint community here in Belgium.

There’s a lot of buzz out there with the re-launch of the Belux Information Worker User group – BIWUG – don’t forget to register on www.biwug.be to stay up to date with the latest SharePoint information – there are a lot of interesting sessions planned in the coming months.

Monday, September 24, 2012

Windows 8 App-a-thon at Microsoft Belgium on September 28th

There will be 2 coding sessions, 1 for Day Birds from 10am – 4pm and one for Night Owls from 6pm – 12am. You can join us for one or both sessions. Build an app, have fun and go home with a fantastic prize!

Don’t forget to register.

Thursday, September 20, 2012

The web template feature in SharePoint 2010

In SharePoint 2007 you had two options when you needed to create a new template for a SharePoint site:

In SharePoint 2010, there is a new replacement and improved framework for handling site templates. When you save a site as template it will create a normal SharePoint Solution Package (a wsp file – if this is new for you take a look at WSP – SharePoint Solution Files). The new webtemplate feature allows you to build a “site definition” which is scoped to a site collection – this way you can built templates of a site and still deploy them to the SharePoint solution gallery in sandbox mode.

Every webtemplate is based on an existing site definition – listed below is a code sample using the minimal set of attributes that you have to use when creating a new webtemplate.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<WebTemplate
BaseTemplateID="1"
BaseTemplateName="STS"
BaseConfigurationID="1"
Name="JOPX"
Title="JOPX WebTemplate"
>
</WebTemplate>
</Elements>


The WebTemplate has to reference the Template (BaseTemplateName) and the configuration of the site definition (BaseConfigurationId) the template is based on.



The example on MSDN How to: Create a webtemplate starts from importing an existing saved webtemplate but in some cases it is easier to start from an empty SharePoint project and manually adding a elements.xml incorporating the webtemplate feature as well as the ONET.XML from the site definition from which you want to start.



References:



Sunday, September 16, 2012

Exploring an App for SharePoint 2013 Visual Studio 2012 project – SharePoint hosted apps

After having installed Visual Studio 2012 together with the Microsoft Office Dev Tools which are distributed with the Web Platform Installer 4.0 (Just search for Office within Web PI) you can start building your first SharePoint 2013 apps. There is only one project type for building SharePoint 2013 apps.

After having selected the SharePoint 2013 app template, you will need to decide what type of app you want to build.

Let’s start with exploring what is included in the Visual Studio 2012 project after you have selected SharePoint hosted app.

Visual Studio 2012 SharePoint 2013 App structure:

  • Features folder – which contains a .feature configuration file, which is used to deploy features to the server that's running SharePoint. This file is typically edited using the VS Feature Designer
  • Package folder - which contains a Package.package file, which is used to deploy the solution to the server that's running SharePoint.
  • Content folder
            • App.css : CSS file to style your SharePoint 2013 app. For guidelines about the different styles take a look at Apps for SharePoint UX design guidelines
            • Elements.xml: provisions the CSS file into the App web
  • Images folder
          • AppIcon.png : serves the icon for the app in the home page
          • Elements.xml: provisions the icon into the App web
  • Pages folder
          • default.aspx : Main/starter page of the app which is shown in full screen mode. Every app needs a least one page likes this. Appmanifest.xml points to this app starter page
          • Elements.xml: provisions the default.aspx file into the App web
  • Scripts folder
          • App.js – Script file for adding your own Javascript logic
          • JQuery-1.6.2.js – If you are not familiar with JQuery yet – you should definitely pick up some learning material on this topic – it is quite essential for building SharePoint 2013 apps. In essence JQuery is a Javascript library which allows you to easily select and manipulate items in the DOM. See JQuery.com for more information
          • JQuery-1.6.2.min.js – Minified version of the JQuery library
          • JQuery-1.6.2.vsdoc.js – Used to provide intellisense capabilities – see How do I get intellisense for JQuery? for more info
  • Root of the project
          • Appmanifest.xml - defines the various elements of the SharePoint 2013 app itself. The appmanifest.xml tells SharePoint what it must know about the app and defines the app's most important properties such as ProductID, Version, Title, Tile and StartPage Urls
            , different AppEvent Urls: Installed, Uninstalling, Upgraded and the App Permission requests.
          • For more information, see Explore the app manifest and the package of an app for SharePoint
          • Packages.config - When creating a SharePoint 2013 app  project in Visual Studio 2012, NuGet packages are used for the JQuery libraries. This means that instead of using whatever version is installed on your machine (via the SDK), Visual Studio will pull the latest version from NuGet. You can see this by looking into the packages.config file in your project.

If you take a look at default.aspx you will notice the following javascript snippet added in to the page – this is quite important – and provides the binding with the business logic which is added into app.js

   1: <script type="text/javascript">



   2:     $(document).ready(function () {



   3:         SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () { sharePointReady(); });



   4:     });



   5: </script>




The snippet above uses the jQuery document ready event handler – “ $(document).ready(function())” to call SP.SOD.ExecuteFunc(). This is an example of a common pattern in Javascript called anonymous function calls. SP.SOD.ExecuteFunc(key,functionname,fn) ensures that the specified file - sp.js - that contains the specified function – SP.ClientContext - is loaded and then runs the specified callback.



So when both the DOM and SP.js are loaded and the ClientContext object is initialized the code will call the sharePointReady() function which is located in App.js.



If you look at the code in App.js – you will notice that the general way of working with the  Javascript Client Object Model hasn’t changed a lot in SharePoint 2013.





   1: // The code creates a context object which is needed to use the SharePoint object model



   2: function sharePointReady() {



   3:     context = new SP.ClientContext.get_current();



   4:     web = context.get_web();



   5:  



   6:     getUserName();



   7: }




References:







Saturday, September 15, 2012

About intent, recall, relevance and precision of search solutions

One of the challenges of designing a good search solution is understanding the range of different search requirements from users. When you look at the Google search screen (or a SharePoint search center screen for that matter) it is quite minimalistic. The trick is to look for the intention of the user who is performing a search operation.

So what is the user looking for?

Key in delivering a good search result is the fact whether the search engine has understood the unstated question. Traditional metrics which are commonly used to measure the efficiency and effectiveness of search are the following:

  • Relevance = whether a document is relevant depends on your intent in the search. Basically, relevant results will help you achieve the goals that made you perform the search in the first place
  • Recall = the amount of total relevant documents which are retrieved by your search. A good recall means that not many documents are missing. If you know that there are 1000 relevant documents and the search would retrieve 100, the recall would be 10%. This metric is quite hard to measure in real life and is you should use this during a search validation phase where you are using a controlled, experimental environments.
  • Precision: the percentage of relevant documents in relation to the number of documents retrieved. If your search retrieves 100 documents and 20 of these are relevant, your precision is 20%. The opposite measure is called fallout, if you retrieve 100 documents and 20 are relevant, your fallout is 80%. Fallout becomes a bigger problem as the size of your search corpus become larger and your retrieved result set also gets larger. Scanning 80 irrelevant documents to fin 20 relevant ones may not be so bad, but with a 1000 results returned – this can be quite painful. Precision and recall typically go in opposite directions, when the query is broad, the recall is high, but precision is low and vice versa ….

The measure with which it all start is relevance – and relevancy is dependent on the intent of the user. In any organization there will be a range of different search requirements from users, depending on the purpose for which they are searching. If you are serious about building a good search experience you should identify common tasks that user are trying to achieve when performing a search. These requirements are best identified though the development of search personas and scenarios. For more information on identifying personas and search information design take a look at the links listed below:

Tuesday, September 11, 2012

Visual Studio 2012 Virtual Launch Event September 12th

Don’t forget to mark September 12th 9:30 AM Pacific Time (for Belgium – 18:30 PM) in your agenda and follow the Visual Studio 2012 Virtual Launch event on http://www.visualstudiolaunch.com

Tuesday, September 04, 2012

Exploring the REST API options in SharePoint 2013– Part I

In SharePoint 2010 the Client Side Object Model (CSOM) was made available through the _vti_bin/client.svc. Client.svc wasn’t really build to be accessed directly but calls would go through supported entry points (proxies)  being the 3 flavours of the CSOM:

  • Silverlight Client Side Object Model
  • Javascript Client Side Object Model
  • .Net Client Side Object Model

Unfortunately the Javascript CSOM was harder to use then the managed version and also more limited in functionality. SharePoint 2010 also provided oneREST/oData enabled service called  ListData.svc also referred to as WCF Data Services (See Introduction to oData and SharePoint Server 2010 for more info)

In SharePoint 2013 the client.svc service is extended with REST capabilities and it now support direct access from REST clients which makes it easier for javascript and non .NET code to access it.  There is also a new shorthand notation for accessing the REST API where CSOM URLs can go through the _api folder.

This means that you can now replace

http://sharepoint/_vti_bin/client.svc/web

with

http://sharepoint/_api/web

The new SharePoint 2013 REST API follows the oData protocol specification but also extends it in some ways to support more complex SharePoint specific operations. The SharePoint 2013 Preview REST service responses are formatted by using the Atom protocol by default. But it is also possible to use HTTP Accept headers that enable you to specify that the response is returned in JSON format which is easier to use in Javascript code.

Since a number of REST calls are simple GET operations it is possible to learn the syntax by creating the URL in a browser and looking at the ATOM response being returned. Next are a number of examples to get you started:

  • https://[yoursharepointsite]/_api/web/ – access a specific site and retrieves different properties
  • https://[yoursharepointsite]/_api/web/?$select=Title,Id – only retrieves the Title and ID for a specific site
  • https://[yoursharepointsite]/_api/lists  - retrieves all lists on a specific site
  • https://[yoursharepointsite]/_api/lists/getByTitle(‘Consultants’) – retrieves a single list based on the title used
  • https://[yoursharepointsite]/_api/lists/getByTitle(‘Consultants’)/Items – retrieves all items in the list with all the fields returned
  • https://[yoursharepointsite]/_api/lists/getByTitle(‘Consultants’)/Items/?$select=Title,LastName – retrieves for all items in the list only the Title and LastName field
  • https://[yoursharepointsite]/_api/web/lists/getByTitle('Consultants')/Items/?$select=Title,FirstName&$filter=startswith(Title,'C') – retrieves  items in the list where the Title starts with a C and retrieves the Title and LastName field

In a next post I’ll explore the extensions in the REST API for SharePoint Server 2013.

More information:

Monday, September 03, 2012

SharePoint 2013 App Developer videos

There is lot of hours of video material available  around building apps for SharePoint – check out SharePoint 2013 Developer training videos for all modules.  To get you started you should  with SharePoint 2013 app development, you should definitely take a look at the following modules (in total around 7 hours of training material around SharePoint 2013 app development alone)

  • Module 1 – Introduction to Office 2013 and SharePoint 2013 development
          • New features for Office 2013 and SharePoint 2013 (00:06:59)
          • App scenarios for Office 2013 and SharePoint (00:06:20)
          • Development options for Office 2013 and SharePoint 2013 (00:10:20)
  • Module 5 – SharePoint 2013 app model for developers
          • Why apps for SharePoint 2013? (00:04:16)
          • Introducing the app model for SharePoint 2013: Part I (00:19:46)
          • Introducing the app model for SharePoint 2013: Part II (00:20:07)
  • Module 6 – SharePoint 2013 developer tools
          • Development model for apps for SharePoint 2013 (00:21:45)
          • Design Patterns for apps for SharePoint 2013 (00:12:59)
          • Create SharePoint 2013 app projects (00:19:37)
          • Package and deploy apps for SharePoint 2013 (00:11:55)
  • Module 7 – Create hosted apps in SharePoint 2013
          • SharePoint hosted-apps model for SharePoint 2010 (00:21:34)
          • SharePoint hosted app model for SharePoint 2013 (demo - 00:15:28)
          • Using Javascript and Jquery for SharePoint 2013  (00:26:25)
          • Using Javascript and Jquery for SharePoint 2013 (demo - 00:20:36)
          • SharePoint 2013 chrome control (00:11:47)
    • Module 8 – Create cloud-hosted apps for SharePoint 2013
        • SharePoint 2013 App Hosting models (00:16:07)
        • Developer hosted apps for SharePoint 2013 (00:21:31)
        • Windows Azure auto-provisioned apps for SharePoint 2013 (00:13:19)
    • Module 9 – SharePoint 2013 client object model (CSOM) and REST API
          • SharePoint 2013 strategy for SharePoint client object model (CSOM) and REST (00:09:13)
          • Programming SharePoint client object model (CSOM) with C# and Javascript for SharePoint 2013 (00:16:03)
          • SharePoint 2013 REST and oData fundamentals (00:17:58)
          • Making REST calls with C# and Javascript for SharePoint 2013 (00:17:30)
          • Making REST calls with C# and Javascript for SharePoint 2013 (demo - 00:17:43)
    • Module 10 – oAuth and application identity in SharePoint 2013
        • SharePoint 2013 application identiy and permissions (00:15:56)
        • Requesting and granting application permissions in SharePoint 2013 (00:16:54)
        • SharePoint 2013 oAuth implementation (00:21:01)
        • Authentication using server-to-server high trust in SharePoint 2013 (00:18:46)

Happy SharePoint-ing

Thursday, August 30, 2012

Getting started with building apps for SharePoint 2013

In SharePoint 2013 everything is an app now … but in strict sense apps are a new way to build and deliver self-contained pieces of functionality that extend the capabilities of a SharePoint site. Apps will be installable by site owners from either the SharePoint Store or from a private App catalog which is setup within your SharePoint 2013 environment.

The SharePoint Store (or marketplace) will be a public App Store which will allow you to publish your Apps world-wide and sell them through this new channel.

So how do you get started:

Other links which might be of interest:

Monday, August 27, 2012

Presenting MSDN Webcast –SharePoint 2013: to app or not to app? on September 4th

I will be presenting a MSDN Belux Webcast on Tuesday , September 04, 2012 around the new App model in SharePoint Server 2013.

SharePoint 2013: to app or not to app?

SharePoint 2013 introduces a new mechanism for custom code solutions with the new App model. In this session, we'll examine why SharePoint Apps have been introduced and how it compares with the standard solution deployment model, the different architecture models and which technologies are used in the App model. We will also look in to the enhancements in the Client Side Object Model and the new REST API which will help you build SharePoint Apps. During this session the different scenarios are outlined using demos and after this session attendees will be ready to build Apps in SharePoint 2013.

Don’t forget to register for the MSDN Webcast – SharePoint 2013: to app or not to app? It is free.

Building a Windows Phone 7 client application for Office 365 and SharePoint Online

If you want to build a client application for SharePoint Online such as a Windows 8 Metro App or a Windows Phone 7 app you will need to understand how active authentication works in Office 365 – a great background article on this is How to do active authentication to Office 365 and SharePoint Online which has a code sample listed below the blog post. This code sample uses the Microsoft.IdentityModel.dll which is part of Windows Identity Foundation and which you can normally find underneath - <drive>:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\Microsoft.IdentityModel.dll

But since there is no version of Windows Identify Foundation available for the Windows Phone platform so you will need to  create the SAML sign-in request programmatically if you want to build a Windows Phone 7 client for SharePoint Online. You can start by taking a look at the code sample Claims-SPOnline from Edin Kapic which does exactly that in a scenario with Windows 8. Unfortunately the code will become quite a lot more complex once you try to port it over to Windows Phone 7 since you can’t use the new async/await keywords which were introduced with .NET 4.5.

So if anyone has written a generic framework for authenticating against SharePoint Online from a Windows Phone 7.x – please leave a comment.

Sunday, August 26, 2012

Quick workaround for Excel and PowerPoint 2010 startup problem after installing Visual Studio 2012

I recently installed Visual Studio 2012 Ultimate on my machine and now every time that I open Excel 2010 - I get a message "Please wait while Windows configures Microsoft Visual Studio Professional 2012..." and then I have to wait for 20 seconds…

The same thing happens with PowerPoint 2010. One of the workarounds seems to be to disable some of the COM add-ins which are added by Visual Studio 2012.

For Excel 2010:

  • Go to File > Options > Add-Ins.  Select COM Add-ins in the drop down on the bottom of the View and manage Microsoft Office Add-ins screen and click Go… Next you can uncheck the COM add-ins which seem to be causing problems
          • Team Foundation Add-in
          • Visual Studio Tools for Office Design-Time Adaptor for Excel
          • Load Test Report Add-in

For PowerPoint 2010:

  • Go to File > Options > Add-Ins. Select COM Add-ins in the drop down on the bottom of the View and manage Microsoft Office Add-ins screen and click Go… Next you can uncheck the COM add-ins which seem to be causing problems
          • Team Foundation Add-in

This seems to work for the moment – although the definite solution might be something else.

Tuesday, August 21, 2012

Building a Windows Phone 7 application integrated with SharePoint 2010 in authenticated scenarios

One of the hurdles you will be facing when building a Windows Phone 7 application which needs to integrate with SharePoint Server 2010 is the fact that WP7 does not support NTLM windows authentication. There are currently two different options:

For more information check out Security with SharePoint and Windows Phone Applications which is part of the SharePoint 2010 and Windows Phone 7 Training kit.

These are the two official ways of doing it  but I recently found a third option where you can access your SharePoint site from Windows Phone 7 using basic authentication as outlined on Darrin Bishop’s blog.

Thursday, August 16, 2012

Login for Visual Studio 2010 Team Explorer on tfs.codeplex.com

If you need to login to tfs.codeplex.com from Visual Studio you will need to use the following user name  - SND\myusername_cp as login. The domain is SND and you need to add extra _cp to the end of the user name that you use to normally login to www.codeplex.com

Tags van Technorati: ,,

Thursday, July 26, 2012

Your chance to win free copies of Microsoft SharePoint 2010 Business Application Blueprints

I have two copies of Microsoft SharePoint 2010 Business Application Blueprints to give away to two lucky winners.

How you can win:

To win your copy of this book, all you need to do is come up with a comment below highlighting the reason "why you would like to win this book”.

The contest is valid until the end of July, and is open to everyone. Winners will be selected randomly on the basis of their comment posted below.

clip_image002

Microsoft SharePoint 2010 Business Application Blueprintsis written by Mike Oryszak, and  highlights details on building SharePoint solutions based on real-life scenarios that you will encounter within your own organization or at your customers. These scenarios range from building an engaging community site to building a site directory with SharePoint search. It is written in an easy-to-understand style and is targeted at SharePoint developers, consultants, and administrators who want to
build a range of SharePoint solutions that extend the SharePoint platform, and see how to apply the many available SharePoint features in different business scenarios.

Chapter outline:

  • Chapter 1, Building an Effective Intranet: An Effective Intranet Site for your  organization that maximizes the site's ability to aggregate content and is highly effective at communicating important messages.
  • Chapter 2, Building an Out of Office Delegation Solution: A Workflow Out of Office Solution that allows users to manage their out of office dates and automate task assignments to a delegated resource.
  • Chapter 3, Building an Enterprise Content Management Solution: An Enterprise Content Management solution designed to support large scale document repositories with
    the ability to route documents automatically between site collections based on metadata attributes along with custom solutions for surfacing the relevant content.
  • Chapter 4, Building an Engaging Community Site: An Engaging Community Site including custom features that can be used to enhance collaboration and provide an information sharing system.
  • Chapter 5, Building a Site Request and Provisioning System: A Site Request and Provisioning System that supports automated site provisioning for user requested sites in a way that supports complex dynamic feature activation and configuration.
  • Chapter 6, Building a Project Site Template: An overview of the template methods available with SharePoint along with a detailed approach for creating web templates in order to create a project site template to support project initiatives and track Issues, Tasks, and Contacts.
  • Chapter 7, Building a Project Management Main Site: A Project Management Main Site demonstrating a solution that can aggregate the key metrics and status information
    from the project management sites created in the previous chapter.
  • Chapter 8, Building a Task Rollup Solution: Create custom Web Parts that can aggregate tasks from the specified sites.
  • Chapter 9, Building a Site Directory with SharePoint Search: Solutions to leverage SharePoint Search to provide an optimized experience making it easier for users
    to search and discover relevant sites.

10 things you should know about BLOB externalization in SharePoint

  • Every file which is stored in SharePoint is stored in the SQL Server database as a Binary Large Object (BLOB). SQL database storage needs high IOPS (input/output operations per second) and low latency. This combination means that this is typically expensive storage.
  • Around 95% of many SharePoint databases is BLOB data
  • It is however possible to take these BLOBS out of the SQL database and store them somewhere else – this is something called blob externalization.
  • There are two APIs available in SharePoint for blob externalization – commonly referred to as EBS and RBS
  • SharePoint External BLOB Storage ( EBS) – an API which was specifically written for SharePoint Server 2007 and which was shipped with Service Pack 1 of SharePoint Server 2007. EBS is supported by both SharePoint Server 2007 and SharePoint Server 2010. Do note that EBS is being deprecated and is likely to be removed from the next version of SharePoint Server. There can only be one EBS provider per SharePoint farm.
  • SQL Remote Blob Storage (RBS) is an API which came available with SQL 2008 R2 Feature pack. It is not unique to SharePoint but is available to any application. You can build your own RBS provider library (and most third party storage optimization tools have done this) and Microsoft also did this by building a provider named the FILESTREAM provider  which can externalize Blobs to local storage.
  • The SQL FILESTREAM feature can only use local storages. Therefore RBS FILESTREAM Provider has the same limitation. 3rd party RBS Providers do not have this limitation if they are not leveraging SQL FILESTREAM feature. (See FAQ: SharePoint 2010 Remote BLOB Storage (RBS)
  • Externalizing BLOBs from SharePoint will not only save you money by moving into tiered storage but will also increase the performance of SharePoint. In a typical real-world collaborative environment Microsoft reports a 25 percent performance increase with BLOB externalization. Check out this white paper for more details - SQL Server RBS performance with SharePoint Server 2010 and StorSimple Storage Solutions .
  • Performance improvements increase as the size of files increases. Microsoft research indicates that if files are smaller then 256 KB – SQL storage will out perform, above 1 MB the file system will provide better performance. Check out Plan for RBS (SharePoint Foundation 2010) for more details
  • Also remember that when you externalize BLOBs, you  architecture might become more complex. After you externalize BLOBs, you must consider the BLOB store in plans for backup, restore, high  availability, and disaster recovery. Here, the story can be complex, but doesn’t have to be.

Reference links:

Monday, July 16, 2012

How to connect to Hotmail using Outlook 2013 Preview

In Office 2013 the Microsoft Office Outlook Hotmail connector is not supported anymore instead you should be using Exchange ActiveSync. You should follow these steps to connect Outlook 2013 to Hotmail:

  • Select Manual setup or additional server types when adding your Outlook accounts
  • Next select “Exchange ActiveSync”
  • For server name use m.hotmail.com
It works like a charm

Sunday, July 15, 2012

Results of first Belgian SharePoint User Adoption Survey

A couple of months ago two university students organized a survey around SharePoint User Adoption in Belgium. The results are now in and with over 130 respondents it gives a interesting view upon how SharePoint deployments are perceived in Belgium. The full report is only available in Dutch but here are some interesting facts and numbers that I want to share:

  • The majority of the respondents are satisfied with the deployment of SharePoint within their organization (73 % indicates to be satisfied or very satisfied)
  • SharePoint is used in organizations of all sizes within Belgium – 56% of the respondents are however working in organizations of over 1000 employees.
  • 44,3% of respondents have been using SharePoint for over 5 years and another 37,1% of the respondents have deployed SharePoint between 3 and 4 years ago.
  • 68% of the respondents are using SharePoint Server 2010 which points at a relatively high adoption rate.
  • 71,8% of respondents are using SharePoint enterprise wide
  • Document management functionality underused – still considered as a collaboration solution.
  • The three most challenging issues with SharePoint implementations are the following:
            • Limited governance policies, coordination and commitment (17,06%).
            • (Lack of) end user adoption and training (17,61%). This is again re-iterated when 55,7% of respondents answer that there is no (formal) SharePoint training program in place.
            • Limited or lack of SharePoint strategy in business or IT (16,46%)
    • Cloud-based/hosted deployments still seem very limited – only 23,8% of respondents indicate that they have deployed a cloud based solution or that they are thinking about implementing a cloud based deployment of SharePoint. 38% indicates that they will not implement a cloud based solution due to specific limitations and another 28,6% answer that they deployed SharePoint on-premise and that they are not considering moving to a cloud-based/hosted solutions.

The full report is available as well – Onderzoek naar de tevredenheid en implementatie van SharePoint in BelgiĆ« (Available in Dutch only)

Tuesday, June 19, 2012

Practical guide to the SharePoint 2010 Content Query Web Part (CQWP)

The Content Query Web Part is one of the most powerful web parts which is provided by the SharePoint Server Publishing Framework (it is not available with SharePoint Foundation). It allows you to roll up information within a SharePoint site collection for display on a web page by letting you build queries through simple configuration of the different available web part properties. The Content Query web part leverages caching and performance optimization techniques and avoids the use of custom code.

While the out of the box CQWP is quite powerful you will see some that in most cases you will need extra configuration and customization. This has however become a lot simpler in SharePoint 2010 by the introduction of slots. So how does this work. Steps to get going:

  • Configure your Content Query web part using the different properties in the web part pane

  • Export the configured Content Query web part to your desktop and modify the .webpart file. Change the ItemXsLink property and point it to the previously uploaded customitemstyle.xsl

<property name="ItemXslLink" type="string">/Style Library/XSL Style Sheets/customitemstyle.xsl</property>

  • Upload the web part definition again and add it to the page. Click “edit web part” and open the web part tool pane. You will notice that within the Presentation> Styles section, you are able to select the newly created itemstyle template that you added in customitemstyle.xsl. After selecting it and clicking apply you will notice that the “CreatedBy” marker that you specified in your custom item style template is now appearing within the tool pane. These markers within the item style are called slots and can be filled with content at runtime.

Once you define slots in the itemstyle.xsl these are picked up by the Content Query Web Part and shown in the web part tool pane so that you can map these to specific fields. Using the “slots” concept you can define reusable XSL templates. This also means that you don’t need to use the “CommonViewfields” property anymore as defined in SharePoint Server 2007 – this is a thing of the past (See Displaying Custom Fields in Content Query Web Parts in Office SharePoint Server 2007)

If you want to delve a little deeper and see some practical examples of the Content Query Web Part check out these links:

Thursday, June 14, 2012

Auditing in SharePoint Server 2010–Part I

The audit feature in SharePoint is used to track what actions users are taking within your SharePoint Server 2010 environment. It is typically activated to comply with compliance guidelines governing your business or the sector in which your organization is operating.

Compliance is the process of adhering to a set of established guidelines or rules established by external bodies such as government agencies or by internal corporate policies.

Auditing can be activated on multiple levels in SharePoint:

  • At site collection level
  • At list or library level (through list content types …)
  • Across your farm using Enterprise content types

After activating auditing in SharePoint Server 2010 (SharePoint Foundation does not expose this functionality through the user interface) you will be able to generate reports on the audit data using reports which are generated in Excel.  These Excel reports typically contains two worksheets, one with a pivot table to provide reporting capability and a second one containing detail information such as the SiteId, ItemId, Item Type,User Id,Document location,Occurred (Datetime),Event (e.g. Security Group Member Add),Event source,Source Name,Event Data. The scope of the audit reports is the current site collection only.

You should be careful when activating auditing and just checking all audit event types since every action which needs to monitored will add a new row of audit data. Auditing data is stored in the AuditData table of the SharePoint content database (Remember that a site collection is stored in one database – so when you have multiple database):

Use the following guidelines to estimate the space you will need to reserve for auditing data:

  • Estimate the number of new auditing entries for a site, and multiply this number by 2 KB (entries generally are limited to 4 KB, with an average size of about 1 KB).
  • Based on the space that you want to allocate, determine the number of days of audit logs you want to keep

Source: TechNet Storage and SQL Server Capacity planning and configuration (SharePoint Server 2010)

Fortunately SharePoint also provides the ability to automatically trim audit logs and only keep audit data for a limited number of days with the option to either delete the audit data or export it to a document library in Excel format.

SharePoint 2010 Online Powershell Commandbuilder

Something interesting for people who want to start using Powershell and SharePoint 2010 - the Online PowerShell Command Builder Tool. The Windows PowerShell Command Builder for SharePoint 2010 (Microsoft Office 365) is a Silverlight 4 application that is designed to help IT professionals and power users learn how to use Windows PowerShell for administrative tasks. You can also install it locally: http://www.microsoft.com/resources/TechNet/en-us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html

Tuesday, June 12, 2012

Business Insight Event @Vlerick Ghent June 21st

Join RealDolmen's Business Insights event and find out how to make information from your data.On 21 June 2012 RealDolmen organizes its Business Insight event @Vlerick in Ghent.

A huge amount of companies allocate significant amount of resources to manage growing data year after year. We explicitly mention data because most of those companies lack the ability to transform data into information and to create real insight. This makes it difficult to reach strategic goals and it undermines your core business capabilities.

During this Business Insight event RealDolmen will introduce you to a combination of practical business cases and innovation sessions. Each of these zoom into essential business insight elements and give you head start when you want to actually use those business insight elements.
This session will mainly deal with topics such as:

  • BI – Performance Management
  • Master Data Management (MDM)
  • Big Data
  • Discovery

Professor Dries Van Nieuwenhuyse, one of the gurus in the BI domain, will give a keynote address and all attendees will get a free copy of his new book "Systemisch Performance Management". Johnson & Johnson and Antwerp Gas Terminal will be presenting their business case. The event is tailored to issues faced by the modern CxO's and managerial level functions.
Registration is free via the RealDolmen website.

Thursday, May 24, 2012

Solve disabled insert picture from SharePoint option in SharePoint 2010

A couple of days ago I created a Wiki Page Library on a site created with the blank template. When I tried to insert an image into the wiki page – the “insert from SharePoint” option was greyed out. Luckily this was quite easy to solve by activating the SharePoint Server Publishing feature (Site level).

This will only work for wiki pages though – I noticed that when you use a field of type “Multiple lines of text (Enhanced rich text (Rich text with pictures, tables, and hyperlinks)” you will notice that although you see the Insert Picture option – the “Insert from SharePoint”  is still greyed out even when activating the SharePoint Server Publishing feature (Site level).

Some things you probably did not know about about FAST Search Server 2010 for SharePoint

Thursday, April 26, 2012

Setting up a development environment for SharePoint and Windows Phone 7

There are basically 3 flavors of setup that you can use for setting up a development environment when you want to build a Windows Phone 7 app that integrates with SharePoint:

  • Physical single machine setup using Windows 7: install both SharePoint 2010 and Windows Phone 7 on a physical Windows 7 machine. This will not work in a virtual environment since SharePoint requires a 64 bit machine and the Windows Phone SDK requires a 32 bit setup when installing in a virtual environment. Installing the Windows Phone SDK on the Windows 7 host and using VMWare is not an option either – see  Help – Windows Phone 7.1 emulator crashes my VMWare workstation. You can not install the Phone SDK on a Windows Server 2008 (R2) but there seems to be a workaround which you can use at your own risk (I did not test it).
  • Single machine with Windows Server 2008 R2 hosting 2 VHDs – one with Windows 7 and one with Windows Server 2008 R2
  • Two physical machines – one with Windows Server 2008 and one with Windows Phone 7
  • Use a hosted solution for SharePoint such as Cloudshare

If you just want to experiment with integrating WP7 and SharePoint Server 2010 don’t not use Office 365/SharePoint Online since SharePoint Online uses quite a different authentication mechanism compared to an on-premise deployment of SharePoint. If anyone has a working sample of a Windows Phone 7 app connecting to SharePoint Online please leave a comment.

Wednesday, April 25, 2012

RSS Feeds are default not enabled in SharePoint 2010

Default RSS feeds for SharePoint lists are not enabled – you will need to enable it per site collection. On the RSS settings page you will also be able to add some additional info to include into the feed such as copyright statement, managing editor, webmaster as well as the time to live (in minutes).

Next you need to define on a per list basis whether you will allow RSS feeds. It is also in this screen that you can define whether you want to include additional fields/columns in the RSS feed. Be careful though, when you add additional columns outside of the standard fields in RSS (title and link), these will be exposed in formatted HTM and not XML which will make it difficult to parse.