SharePoint: How to hide the “Workspace” checkbox on a calendar without code or customization


I often get requests to remove the “Workspace” field on a calendar. It’s a great feature if you need it, but if you don’t allow your users to create sub-sites, then it’s a training issue to teach people to ignore it. I prefer to show my users only what they need on a page. I don’t want purposely ignoring fields to become a habit.


It should be easy…just go to the Site Settings, click on the content type of “Events”, click on the name of the field and change it to hidden. Nope…that doesn’t work. As you can see below “All Day Event”, “Recurrence” and “Workspace” are greyed out and un-clickable.


So off to “Bing” I go….and I search and I search. I found a way if you change an administrative Hive file or use code. Neither are solutions for me. So I search some more…and still nothing for a no-coder like me.

I figure there MUST be a way to do this in my favorite little SharePoint tool, SharePoint Designer. And I found what I believe must have been some evil genius at Microsoft’s version of a prank or an Easter Egg: the triple click! And to be honest, it is so ridiculously simple I thought I must have missed it….so I searched again. If I missed this solution…please let me know…it means my search skills need some serious beefing up.

So finally, the ridiculously easy solution…Triple click the column property and set to “Hidden”

  1. Open SharePoint Designer 2010
  2. Click Content Types
  3. Open the Event Content Type if you want to the field in
    1. You can change this at the parent level to affect all lists using the content type, at the sub-site level to change only items on that site, or create a new content type if you just want to change it on certain lists.
  4. Click on Edit Columns
  5. 2011-10-30-HideWorkspaceCheckbox-03.png

  6. Select the Column Name you want to change the property for
  7. Then click the “Property” you want to change 3 times…not twice, not 4 times, but 3 times.
  8. (An even number of clicks (2, 4, 6) does nothing…but a triple click, or any odd number of clicks (5, 7, 9) works every time….weird!)


  9. After the 3rd click…wait one second. The property will become a dropdown. Select the value you want then save your changes.
  10. 2011-10-30-HideWorkspaceCheckbox-05.png

And Voila! A no-code way to get rid of that pesky workspace field!


Important note: Once you start creating calendar items with this field hidden on the content type, it will stay hidden even after you try changing it back…and vice versa: if you created items with the field visible on the content type, the field will stay visible on that content type.

The workaround for this is to create a new content type, based on the Event, hide (or unhide) the workspace field, and use the new content type as the default moving forward.

“SharePoint? is pure crap!”


2011-10-27-SPPureCrap-01.pngSome time ago I was involved in a heated conversation about SharePoint. At some point, one of the people said that SharePoint is pure crap as it is all what comes from corporate Microsoft. Definitely a “hater”.

These types of comments strike me because of the similarity with what is going on in the political environment. The language we are using is divisive.

Are we becoming technofanatics?

Is social media throwing us into some sort of online identity crisis where we need to be part of a tribe? Are you a Microsoft fan or an Apple fan? There is little space for being a fan of both.

After Steve Job’s death I saw some hateful posts. Unnecessary comparisons with similar living leaders. Amazingly these posts had many “likes” and supportive comments.

Social Media is definitively increasing the awareness of differences between individuals. Many opinion leaders are trying to avoid controversy, others are more conciliatory, and some just express themselves as they please. I’m starting to believe that the new experience of Social Media calls for some level of responsibility.

I believe it is fair to become part of different communities and to share our opinions and differences. What I think is unacceptable is to become fanatics.

The SharePoint community is an exceptional case where the concept of community, diversity and respect is clear. I’m glad to call myself a SharePointer.

Display a Web Part as a Visual Best Bet in FAST Search Server 2010 for SharePoint


FAST Search Server 2010 for SharePoint has a number of nice visual enhancements you don’t get with regular SharePoint Server Search, such as document previews and visual best bets. This blog post provides a walkthrough of making use of Visual Best Bets to display a SharePoint Web Part.

How do Visual Best Bets work?

MOSS 2007 and SharePoint Server 2010 provide Best Bet functionality that lets you specify some HTML to display as a Best Bet. A FS4SP Visual Best Bet on the other hand lets you specify a URL, the web page for the URL is then displayed in a web part using an iFrame.

If I setup a Visual Best Bet for the keyword “SharePoint” and specify a document library as a Visual Best Bet I get this:


The document library displays, in an iFrame above, the search results. If we edit the page you can identify the web part that displays the Visual Best Bet.


There’s one useful property you can edit for the ‘Search Visual Best Bet’ web part. The very first web part property displayed for the web part is called iFrame Height.


The default for this is set to 150 pixels. You can edit this property to allow you to display your Visual Best Bet with a higher height, as an example if I increase this to 300, I get the following.


So that’s how Visual Best Bets work… and I’ve been thinking of the best way to make use of Visual Best Bets to display some truly awesome looking dynamic content.

Well SharePoint can display dynamic visually rich content can’t it?

Here’s a page displaying a video using the Media Web Part.


Here’s a page displaying an Indicator Details web part for a KPI in a status list.


Here’s a page with a chart web part.


Wouldn’t it be nice if we could display Web Parts as Visual Best Bets?

If we try that, if I create a keyword for “FAST Search” and use the video page as a Visual Best Bet I get this:


The page chrome, ribbon, banner, navigation etc. is getting in the way – wouldn’t it be nice if we could just display the Media Web Part as a best bet?

This is possible in SharePoint, you can selectively hide what is rendered on a page using CSS. A quick way to remove a large amount of page chrome is to use the IsDlg=1 query string parameter. So where my Video Page URL is:

If I edit the Visual Best Bet, and change the URL to this:


I get the following in search results:


Much better! IsDlg=1 is used by SharePoint when displaying popup dialogs, the query string parameter hides page chrome. We still have an issue regarding not all content being displayed. There are two options with this:

  1. Reduce the web part height in the video page.
  2. Increase the height of the iFrame for the Visual Best Bets Web Part in the search results page.

Both will work, If I go with option 2 – I get this:


That looks sweet, it is displaying an inactive scroll bar… but let’s just ignore that :)

If we do the same with the KPI Web Part page we get:


Here’s what the chart web part looks like:


So you can quite easily setup Visual Best Bets with FAST Search Server 2010 for SharePoint to show a visually stunning Web Part if you:

  1. Create a page and add your desired web part to it.
  2. Ensure the web part height is less than the Visual Best Bets web part height, by either reducing the height of the web part you want to display, or increasing the iFrame Height property on the Visual Best Bet web part on the search results page.
  3. Create a Visual Best Bet to your web part page and add the ?IsDlg=1 query string parameter to the end of the URL.

With all of the various types of dynamic web parts you get with SharePoint, you now have no excuse for not making good use of Visual Best Bets in FAST Search Server 2010 for SharePoint.

Connecting a SharePoint calendar to Outlook vs. Connecting an Outlook calendar to SharePoint


When you have an OOB calendar created with SharePoint 2010, connecting the calendar to display the information in Outlook is an easy task: one click on the “Connect to Outlook” button and follow the wizard.

However, I added the following requirements a couple days ago where a SharePoint user with full control privileges wanted to display the content of her Outlook calendar to a SharePoint calendar. I assumed that this task would be a matter of a one click again. However, it is a little trickier than it seems.

In fact, her team was using that Outlook calendar to update information and events. She was planning to continue updating via that same calendar in order to display the information on the SharePoint site. Unfortunately, the solution that I proposed involved using a new calendar and copying all existing events to the new SharePoint calendar. Moreover, the word “copy:” would appear in front of every single calendar item.

Therefore, the solution that I proposed is a work around to get the task done. This solution can be performed using the SharePoint UI and Outlook.

The tasks that we are going to perform, in order to display all events and be able to update via Outlook, are:

  1. Create a new calendar in SharePoint
  2. Connect the calendar to Outlook
  3. Copy all items from the Outlook calendar to the new SharePoint calendar
  4. Test that all updates from the Outlook calendar propagate diligently to the SharePoint calendar

Task #1

  • Go to your SharePoint site and create a new calendar using “site actions” >> “More options”
  • Filter by “Lists” and select “calendar”
  • Name it accordingly and hit “Create”
  • 2011-10-25-ConnectingSPCalendartoOutlook-01.png

Task #2

  • Once on the newly created calendar, click “Connect to Outlook” from the global navigation menu
  • In the popup windows, click “Allow”, “Allow” and “Yes”. You should be able to see your SharePoint calendar on Outlook
  • Open in parallel the calendar that you want to copy over
  • 2011-10-25-ConnectingSPCalendartoOutlook-02.png

Task #3

  • On the calendar that you are trying to copy, go to “Change View” and “List”
  • Once in the list view, make sure that you are targeting the right calendar
  • Select them all (Ctrl + A) and copy them all (Ctrl + C)
  • Go to the SharePoint calendar in the list view
  • Paste them all (Ctrl + V)
  • Confirm any popup window and let Outlook copy all items over
  • 2011-10-25-ConnectingSPCalendartoOutlook-03.png


Task #4

  • Once all items are copied, go back to your SharePoint site calendar view
  • All future additions can be done via the Outlook interface or the SharePoint interface
  • 2011-10-25-ConnectingSPCalendartoOutlook-05.png

Processing items with Work Item Timer Jobs in SharePoint 2010



Once in a while you find yourself in a situation where you have to process some items in SharePoint. Using Timer Jobs is only a half of the answer. Find out how to process items using Work Item Timer Jobs in SharePoint 2010.

Processing items in SharePoint 2010

One of the things we have probably all done at least once during our SharePoint developer career was to create a solution for processing a number of items, such as ratings, subscriptions, some kind of requests, etc. We have all learned that such processes can take quite a while to complete and it is therefore a good practice to use Timer Jobs for implementing the logic. Because Timer Jobs are being executed outside the w3wp.exe process, they are not only less prone to failures due to process termination but also allow us to move the load away from the Application Pool serving our solution.

When dealing with items you have to have some kind of queue which describes what should be processed. Most frequently such queue contains some input information for the task (rating, username, etc.) but it may also contain ID’s of sites and items to which the task refers.

While implementing queues for Timer Jobs many people choose Lists for storage. And although there is nothing wrong with this approach, it requires some additional work in creating and maintaining the queue List’s schema and all the plumbing for adding and cleaning queued items not to mention supporting upgrades should anything change in the future! There is however an easier way to work with item queues in SharePoint 2010.

Presenting Work Item Timer Jobs

Work Item Timer Jobs (SPWorkItemJobDefinition) are specialized types of Timer Jobs designed for dealing with item queues. And although they have been around for quite some time (available as a part of Windows SharePoint Services v3) they haven’t been that well documented yet and there are not many samples to find of how they can be used.

Creating Work Items

At the base of every Work Item Timer Job is the Work Item: a unit of work that is picked up and processed by the Job when it executes. A work item can be added using the SPSite.AddWorkItem method, eg.:

Although the number of parameters required by the AddWorkItem method might seem scary it is all way easier than it looks.

First there is the gWorkItemId parameter which uniquely identifies the work item.

The second parameter (schdDateTime) determines when the item should be processed. One important thing to notice here is that the time should be stored in the Universal Time format. Without this you might find yourself creating work items in the past which would prevent the Timer Job from processing them.

The next parameter (gWorkItemType) contains the ID of the work item type. This value is very important as it’s used by the Work Item Timer Job to pick up its work items. The identifier set while creating a Work Item should match the value returned by the SPWorkItemJobDefinition.WorkItemType method.

Next there are a few parameters that can be used for retrieving the List Item to which the Work Item refers. For example when working with ratings you would have the item that has been rated (List Item) and the rating Work Item which contains the rating value. In order to update the average rating on the List Item you would need a reference to the Site and List where the particular item is stored but also the ID of the item itself so that you can retrieve and update it.

Then there is the nUserId parameter which contains the ID of the user who requested the Work Item. This can be useful for tracking purposes.

Next, there are two parameters which can be used for storing input values for the Timer Job and which replace the need for a whole separate List. Those parameters are rgbBinaryPayload and strTextPayload and can be used to store respectively binary and text payloads. When working with ratings you could, for example, store the rating value (eg. 4) as the text payload. In other scenarios you could choose to store more complex objects: either serialized as JSON/XML as the text payload or as a binary payload. Which one you use depends mostly on the type of Timer Jobs that you are building.

Important: there are two things that you should keep in mind when designing your solution based on Work Items. First of all the assembly that contains the code which adds a new Work Item must have Full Trust. Secondly the user who adds the Work Item must be a Site Collection Administrator. In most scenarios you will therefore be adding new Work Items after elevating privileges.

Calling the SPSite.AddWorkItem method results in adding a record to the ScheduledWorkItems table in the Content Database of your Site Collection.


Those Work Items records are cleaned up once the item has been processed by the Timer Job.

Now that we have our Work Item created let’s create a job that will process our Work Items.

Creating a Work Item Timer Job

As mentioned before, Work Item Timer Jobs are specialized types of Timer Jobs. From the deployment perspective they look the same as regular Timer Jobs, so they also need a Feature to be deployed and a schedule to execute. The big difference is in the execution process. Where you would implement the Execute method in a regular Timer Job, you use the ProcessWorkItem method to execute your logic.

The following code snippet presents a sample Work Item Timer Job.

We begin with defining the name for our Timer Job and the Work Item Type. Next, using the BatchFetchLimit property we specify how many items our Timer Job should process in a single run. Depending on the logic of your job this can help you keep your environment from overloading and the job running for too long. Finally, in the ProcessWorkItem method, we implement our logic for processing Work Items. In this example we retrieve the associated List Item and we update the value of its Message field with the message stored as the Text Payload of our Work Item.

As you can see this is all very straightforward and allows you to focus on the real job instead of the plumbing.

Important: One very important thing that you should implement correctly and test thoroughly is cleaning up Work Items after they have been processed. Without this they would be processed every time the Timer Job executes over and over again.

In the code sample above you can see how a processed Work Item is being removed in line 52. Although the ProcessWorkItem method receives the collection of Work Items you cannot just remove the Work Item from it. For the Work Item to be removed the collection has to have a reference to the Parent Web and therefore you have to call the SubCollection method first before calling the DeleteWorkItem method.


Work Item Timer Jobs are specialized types of Timer Jobs in the SharePoint platform, that have been designed to work with queued items. The mechanics behind the Work Item Timer Jobs contain all the plumbing required for managing queues allowing you to focus on processing items. Work Item Timer Jobs are a great alternative to using custom Lists as they require less maintenance and are a part of the SharePoint platform.

Editing rich content in SharePoint 2010 - Not always easy


SharePoint 2010 brought with it many improvements for adding rich content to pages. These include the ribbon interface (making regularly used controls more accessible) and wiki pages (meaning you could add such content directly to a page). Wiki pages mean you no longer need to bother with ‘content editor webparts’ when you want to add rich content to a page, just add it directly.

Above: The ribbon and wiki pages

However adding content isn’t as easy as it should be. The ribbon works well as an interface (though not everyone is a fan), but the process of actually formatting content is tricky. Font styles don’t always seem to apply, spaces (line breaks, normal spaces) are inconsistent, and generally it can sometimes feel like you are ‘fighting’ against SharePoint, rather than with it. So what are the alternatives?

Well you could add HTML directly, using the ‘Edit HTML source’ button. However the HTML ‘editor’ (if you could call it that) doesn’t format or highlight the code, so it is very difficult to write proper correctly formed code in here.

Above: The HTML source editor

Or you could create your content in Word, and paste it over. This works in the main, but not all formatting will come across exactly as it appears in Word.

If neither of these options appeal (and neither are perfect) then try these slightly more ‘invovled’ solutions:

  • Use a proper HTML editor to create your HTML
    You could, in effect, use any HTML editor, or text editor, to write your code. Once complete just paste it into the source editor. I often find myself on client site, using client machines without access to my usual machine environment. In this instance I’ve started evaluating online HTML editors to create my content. I’ve yet to find the perfect solution but the following are doing a job:
  • HTML Edit - Basic editor, useful if you know your HTML
    Real Graphics - WYSIWYG editor, though I find the toolbar a bit buggy
    Online HTML editor - WYSIWYG editor, similar to above
    Innovastudio editor - Nice option, but crazy subscription model!

  • Rip out the standard edit controls
    Telerik have been offering their RAD control for a number of years. Use it as an alternative, in most cases, to the standard SharePoint editing controls.

Preview SharePoint 2010 Theme Colors in PowerPoint



In SharePoint 2010 it is easy to create custom color themes to jazz up a site. Theme colors can also be created in PowerPoint 2010 with a few clicks. But how do the chosen colors actually look in the SharePoint site? The attached PowerPoint has a preview of all the main elements of a SharePoint 2010 site with the selected color theme.

A few drawbacks:

Using Office Themes for SharePoint 2010 sites is easy, but can be time consuming. You need to create new theme colors in PowerPoint, save the file as an Office Theme with the .thmx extension, upload that theme to your SharePoint site collection gallery, and select it in the site via Site Settings > Site Theme.

The Site Theme page has a preview button where the site landing page is then displayed in the new theme colors, but there are a few drawbacks:

  • chances are that this page does not show all the site elements that are affected by the theme changes
  • you cannot click through to another page of the site to check the new colors there
  • the preview is slow to generate
  • some site elements, for example the list form backgrounds, use shades of the main accent colors, and you could end up with a lot of trial and error time until you finally arrive at the desired color effects for all site elements
  • the preview is buggy (it often throws an error in my environment and also often just does not display the correct colors)

All in all, there is a lot of trial and error involved when testing theme colors, and doing the trial and error in SharePoint is just too slow.

To add a little bit of confusion, the order of the theme colors in the color palettes is slightly different. In the SharePoint Site Theme dialog, the first four colors (for light and dark text/background) are listed in the order Dark 1, Light 1, Dark 2, Light 2. In the PowerPoint palette, the order is Light 1, Dark 1, Light 2, Dark 2. The following screenshot shows the color palettes side by side.

PowerPoint and SharePoint palettes

Since I will be creating a lot of sites in the next few months, I was not looking forward to the time and effort involved in creating good-looking site themes. So I spent a little time re-creating the elements of a typical SharePoint Team site in PowerPoint 2010. The deck consists of three slides.

Slide 1 shows the typical Home page of a Team Site, with the major HTML styles added to the page.


Slide 2 has the Markup styles and two table layouts.


Slide 3 shows a List form in edit mode, with the ribbon and the color background that will be applied to the data fields area of the form.


Every element on these slides is formatted with same theme colors and shades that SharePoint uses.

On any of these slides, you can click the Design ribbon and scroll through the Colors drop-down in the Themes panel. As you hover the mouse over a color theme, all slides in the deck will instantly change their appearance, even the muted colors behind the List form.


Much, much faster than the SharePoint preview.

A few notes:

  • The colors for the links below the Getting Started heading on the home page are hard coded and will not change with any theme.
  • The SharePoint callout styles 1 through 4 are also hard coded and are not affected by themes, so I did not include them in the slide deck.
  • The PowerPoint deck deals with theme colors only. It does not take into account theme fonts.
  • PowerPoint seems to "forget" some color settings. It should always apply the second shading of the Light 1 color to the first row of the medium two tone table style, but if the Light 1 color is set to a dark color, PowerPoint applies a different shade, and when checking the theme color for the element, it no longer sits on the second shading of that color. Go figure.
  • It may be tempting to apply different colors to the elements on the PowerPoint slide directly. Don’t. It will not have the desired effect when the color theme is used in SharePoint.
  • In order to protect the formatting of the slide elements, I’ve moved them to the Slide Master, so you can’t easily click an element in the PowerPoint slides.
  • And finally, sometimes the colors of a new theme are not applied correctly to a slide that did not have focus when the theme colors were changed. In that case, bring that slide into focus and toggle the theme colors again.


Using jQuery daterangepicker with Sharepoint lists


Using the Jquery date range picker to filter a list can be a bit tricky but here is a solution I came up with to save you some pain.


Step 1: Create a page with a 2 date filters

Instructions on how to create a date range filter using the OOTB sharepoints components can be found here.

Once you have completed this move onto step 2.

Step 2: Download the latest date range picker jQuery plugin

The filament group plugin can be found by clicking this link

Step 3: Add the plugin to your site

Unpack and upload ALL the files to your sharepoint server and include links to the css and js files in either your master page or inline content editor on your page.

<script type="text/javascript" src="/ **** PATH TO FILES *****  /js/daterangepicker.jQuery.js"></script>
<link rel="stylesheet" href="/ **** PATH TO FILES ***** /css/ui.daterangepicker.css" type="text/css" />

Step 4: Create a blank javascript file on your server

I find it much easier to put the jQuery and other javascript into an include file on the server and include it on the page from there while testing. It makes it much easier I find.

On your server, in the same folder as the other daterangepicker files, create a new file called "include.js". Leave it blank, we will edit it later.

Step 5: Add the new daterange input to your page.

Add a new content editor web part to your page.


Click to add new content to the webpart, then switch to html source view.


Once in the source editor add the following code and click save.

<input type="text" id="daterange" />
<script src="/ *** PATH TO FILES *** /include.js" type="text/javascript"></script>

This adds the new date range input to the page, and loads our currently empty include.js file

Step 6: Add the magic to the include.js file

Below is the code to put into the js file. It is commented to explain what each part does. Once you added it to you include.js file, save it and reload your test page and you should now have the date range picker available when you click on the new input.

$(document).ready(function() {
		// variable to hold the inputs starting value
		var initialVal = ""; 
		// variable to hold the datefilters initial values
		var initialDates = new Array(1);
		var j = 0;
		// Loop over the date filters on the page and store
		// their values in the initialDates array
			initialDates[j] = $(this).val();
			j = j + 1;
		// Set the initial value of the daterange picker input.
		// If the initial datefilter values are the same, only enter one date
		// in the input
		if(initialDates [1]== initialDates [0]){
		  initialVal = "" + initialDates [0];
		} else {
			initialVal = "" + initialDates [0] + " - " +initialDates [1];		
		// Set the value
		// Initialise the daterangepicker control
			onClose: function(a){
				// Add a delay to the onclose call as there is a small
				// bug-feature with the date range picker that can 
				// return incorrect values if it is not delayed slightly
				}, 1000 );			
  	 // This function is run once the done button is clicked
  	 function parseAndChangeDates(){
  	 	// get the value from the input
  	 	var dateInputValue = $('#daterange').val();
  	 	// Split the value to get the start and end date
  	 	var range = dateInputValue.split('-');
  	 	var i = 0;
		// If there is only one date the make the end date [1] the
		// same as the start date [0]
		if(range[1]== undefined){
		  range[1]= range[0]; 
		// Loop over the date filters and change their values to the new ones		
			i = i + 1;
			// On the second iteration activate the filters change() function 
			// to reload the page... magic!

Step 7: Hide the old date filters

Edit the two date filters on the page and set their width and height to 0.

Voila… done-burgers!

All going well you should now be able to filter your lists by the jquery daterangepicker which IMO is much more user friendly than the OOTB alternative.

SharePoint 2010 Governance - A Plan for Effective Use


2011-10-18-SP2010Governance-01.png"Yeah we have a SharePoint 2010 site, now what?" There is no telling how many times I have heard this. Organizations want the latest thing, SharePoint, but when they spend the thousands of dollars to get it, they do not know what to do with the on demand customization of a web site.

One of the roadblocks to setting up a successful SharePoint 2010 site is the Governance that must accompany it to determine the goals, content, education and strategy. Each of these areas should be spelled out in a governance plan that accompanies the implementation of a SharePoint Site.

Setting up a site and giving the URL to the users is not a way to successfully implement a SharePoint site. New Users will just ignore the site and continue to work Users that know about the technology in SharePoint will try to see how far they can push the site without IT help. Each group making a mess of the new implementation until chaos reigns. If there is not some order to the first levels of sites, then some cleanup should take place. The goal of the governance plan should outline the vision, policies and standards that will be measured while employees use the site. The plan should also elaborate on any technical and infrastructure policies that need to be followed as well.

Once the site is set up and turned on, the next stage of governance should be to classify the business information and content that should be displayed. Sites are generally grouped in two categories. Long term sites that present data that does not change very much, like Corporate Portal and Department Sites. Short term sites, like project Sites and meeting sites, are only accessed during a specific time and can be deleted once they are not used anymore. The look and feel of the site needs to be discussed as well. Most organizations just use the standard look and feel of SharePoint; however, a master page and themes can be created to make the site look a little less like the default SharePoint Site.

After making sure that the sites are set up correctly, the third step is to make sure that user’s know what they can and cannot do on the new SharePoint site. Power Users or early adopters will push SharePoint to its limits. These users are essential to a successful launch as they are the ground force that can help new users to use the new site. Word of mouth can only go so far. New user training, administrator training, and power users training should be used to make sure that all users know what is expected of them while using the new implementation of SharePoint. Training is best done in person, but with distributed workforce, computer based training and knowledge checks can be used to ensure compliance with the new governance.

So the site is set up, information is being populated, and training has commenced. The job of the Governance Team is far from over. As business changes, the governance of the SharePoint should be flexible enough to change as well. The Governance team should meet regularly to incorporate any changes that come up from the business. The main business goal of SharePoint is return of investment. Reports from the Governance team should show how SharePoint is helping the business work more efficiently.

"Look at this new Tool and here is how we can use it to help our department" should be what is heard around the water-cooler. With proper governance from the beginning, the new SharePoint site will help the business grow and grow.

FAST Spatial Search Toolkit v1.0 - Search for Spatial Data with FAST Search Server 2010 for SharePoint


I’ve been working on a custom FAST Search Server 2010 for SharePoint Solution which is an extension to the FAST Search Center site template that allows you to search for data that is spatially referenced.

Many organisations deal with data that is spatially referenced, this solution provides the ability to search for data with FS4SP using a map control to zoom in on a specific piece area of interest so you can focus on finding data specific to that area.

For v1.0 of the FAST Spatial Search Toolkit I’ve developed a custom site definition based on the out-of-the-box FAST Search Center site definition. The FAST Spatial Search Center incorporates a custom Silverlight 4 application that uses the Bing Maps Silverlight Map Control to allow searches to be refined spatially and for visualisation of spatial search results.

The out-of-the-box default.aspx and results.aspx pages have been customised to incorporate a small map control for spatial filtering and visualisation. A large full screen map page is also included that queries FAST Search via the search web services for returning and visualising thousands of search results across an area.

Check out the following video for a demo of the solution:


The FAST Spatial Search Center supports searching for points and bounding boxes. Point data is represented by Longitude and Latitude coordinates and bounding box data has a North, South, East and West bound which represents an area.

If you would like to deploy and test the solution out yourself, you will need your own Bing Maps API key and will also need to create six FAST Search managed properties to allow the solution to query search results spatially.

It’s FREE (requires a Bing Maps API Key) to download. You can download the solution from the Download - FAST Spatial Search Toolkit page.

For detailed steps on setting up the solution, check out the FAST Spatial Search Toolkit Installation post.