Wednesday, 24 September 2008


Hi guys,
Sorry it's been a while since my last post, but I've been flat out with a project. I have a list of a lot of issues I've come across and work arounds, so in the next week or so I'll have heaps of posts.


Wednesday, 27 August 2008

SharePoint SiteMap Generator - Version 2

I came across an interesting feature that builds the sitemap.xml. Check it out


Friday, 25 July 2008

Content Deployment's Next Run Changing Time

Not sure if anyone has come across this, but if you are using Content Deployment and you have a Scheduled Job and you go to the "Manage Content Deployment Paths and Jobs", every time you refresh the screen, the Next Run time changes! Not the hours or minutes, but the seconds.

If anyone knows why, can you please let me know cause I'm curious about it.


Thursday, 17 July 2008

SharePoint Infrastructure Updates Available (Post SP1)

The Infrastructure Updates for WSS 3.0 and MOSS 2007 are now available.

Key updates for Windows SharePoint Services 3.0 include:
  • Platform performance improvements and fixes.
  • Several backup and restore fixes.
  • Several core Workflow fixes.
Key updates for SharePoint Server 2007 include:
  • New Search features such as federated search and a unified search administration dashboard.
  • Several core fixes to Search to improve performance and scale.
  • Platform performance improvements and fixes.
  • Several core fixes to the publishing Content Deployment features to improve reliability.
It is strongly recommended you install these updates which are also cumulative and include previous roll ups.

Ill let you know if I have any issues with installing them....


Monday, 14 July 2008


Are you looking for SharePoint work and live in Australia? There's plenty of openings going here. Email me and let me know and Ill forward your CV to the right people.


Thursday, 10 July 2008

Content Deployment Scheduled time keeps changing

Not sure if anyone has come across this before, but if you go "Manage Content Deployment Paths and Jobs" and have a scheduled job for content deployment. If you refresh the screen, you will notice that the time it's scheduled for keeps changing. Not the hours or the minutes, but only the seconds. Keep refreshing it, and it keeps changing. Does anyone know why?

Wednesday, 9 July 2008

Error “Guid should contain 32 digits with 4 dashes” during content deployment

I started getting an error saying “Guid should contain 32 digits with 4 dashes” during content deployment. After a lot of research I finally found the problem.

If you are referencing fields via GUID and including { and }, that is what causes this error.

eg field id="ab78ad79-6a48-1182-c3e5-93a3ed3e7831"
not field id="{ab78ad79-6a48-1182-c3e5-93a3ed3e7831}"

After going through all the site and removing the { and }, I did a content deployment and it worked.

Saturday, 28 June 2008

Just because you can, doesn't mean you should!!!!!

For months now, I've been arguing with people about when to use SharePoint. One line that I keep repeating to people is "just because you can, doesn't mean you should". Does because SharePoint in capable of doing something, doesn't mean you should develop the application in SharePoint.

So before deciding to develop in SharePoint, please sit back and decide if SharePoint is the appropriate application or is there some other development platform you can use that will make your job easier and speed up development.


Saturday, 21 June 2008

SharePoint User Group Presentation

This week, Sam Balaz and myself presented at the Canberra SharePoint User Group. Our presentation was based on the lessons learned when we developed and deployed an internet facing website.

If anyone is interested in finding out some of the problems we faces and how we found work arounds, just contact me.


Thursday, 12 June 2008

App Pool Monitor/HDD Monitor/Service Monitor

I've had a couple of people ask me for the source code for the app pool monitor. So here it is ( ). This actaully also checks for services, and if they're down it will restart them and email you. I've done it as a simple aspx page, but it shouldn't be too hard to convert it to an app. If you look at the web.config, you will notice there's some settings there you need to change, like email address etc etc. The code needs to be cleaned up a little, but it should give you something to start with.

Tuesday, 10 June 2008

Optimizing SharePoint

Here's a very useful article I came across regarding Optimizing SharePoint.

It goes through and talks about the recommendations, the reason and the benefits. It's come in very handy for me when it comes to Internet deployment.

Thursday, 5 June 2008

Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2

They've finally released Windows SharePoint Services 3.0 Tools Version 1.2.

Do download, go to

Included in this release is:

Visual Studio 2008 Project Templates

  • Web Part
  • Team Site Definition
  • Blank Site Definition
  • List Definition
  • Empty SharePoint Project

Visual Studio 2008 Item Templates (items that can be added into an existing project)

  • Web Part
  • Custom Field
  • List Definition (with optional Event Receiver)
  • Content Type (with optional Event Receiver
  • Module
  • List Instance
  • List Event Handler
  • Template

SharePoint Solution Generator
This stand-alone program generates a Site Definition project from an existing SharePoint site. The program enables developers to use the browser and Microsoft Office SharePoint Designer to customize the content of their sites before creating code by using Visual Studio.

I still haven't played with it, so I'll let you know how it goes.


Thursday, 29 May 2008

SharePoint 2007 Best Practice Analyzer

A very useful tool that analyzer your WSS.

"The SharePoint 2007 Best Practices Analyzer will collect all the data from your database, registry, etc�and apply a set of comprehensive �best practice� rules against the data set.� A detailed report listing is provided after the completion so you can make your SharePoint 2007 Portal faster and more flexible"

To download it, go to

To run it, go to a command prompt and type:

sharepointbpa.exe -cmd analyze

If you have any problems, let me know.


Wednesday, 28 May 2008

70-631 Configuring Microsoft Windows SharePoint Services

I finally decided to stop being lazy and go sit an Exam. I sat exam 70-631 Configuring Microsoft Windows SharePoint Services 3.0 and passed it. Not too hard, but there's some questions there that I don't think should be in a SharePoint exam.

eg, What does ISA config got to do with SharePoint config? As a SharePoint administrator, I don't think you need to know the exact steps to setting up rules in ISA, or MOM, or SQL. Now, Im not saying that you shouldn't know it, but for a SharePoint exam, it should only ask you questions about SharePoint.

Anyway, if anyone needs a hand with it, just ask me.


Monday, 26 May 2008

Optimize Blob Cache by including most used file extensions and increasing the cacheabilty value

To do this, it's very simple.

Please ensure that the “Office Sharepoint Server Publishing” feature is activated on all Publishing sites. Also, you should update the location to the best performing drive, add in extra paths, and add in the max-age to expire based on your situation. For example:

Current setting: <BlobCache location="C:\blobcache" path="\.(gif|jpg|png|css|js)$ " maxSize="10" enabled="false"/>

Example Setting: <BlobCache location="E:\blobcache" path="\.(gif|jpg|png|css|js|htc)$ " maxSize="10" max-age="86400" enabled="true"/>

If you have any problems, let me know.


Thursday, 15 May 2008

Good Tool

Just a quick one, if your after real time diagnostics of multiple servers in a SharePoint farm, go to and download the app. I found it very useful.


Tuesday, 13 May 2008

Switching off Versioning for Content Deployment

I don't know if any of you are using content deployment, but for those who are, you would have realised that the destination db is usually the same size as the source (if not bigger). The main reason for this is every time you deploy, it creates a new version of the document. The best way to get round this is to switch off versioning. Here's a little script i've written where you pass in the URL and it will switch off versioning for every list in every site.

class Program
static void Main(string[] args)
string strurl = args[0];
using (SPSite spsite = new SPSite(strurl))
SPWebCollection web = spsite.AllWebs;
for (int i = 0; i < web.Count; i++)
foreach (SPList list in web[i].Lists)
if (list.EnableVersioning)
list.EnableVersioning = false;
Console.WriteLine("Application run successfully!");
catch (Exception e) {

Let me know if you have any problems running it. Sorry about the formating of the code, this blog editor doesn't import in properly from VS2005.


Monday, 12 May 2008

Vista Bluescreen

A guy work with (thanks Phil), has experienced a problem with Vista. To get it to crash and report this error

To replicated the problem, simply follow the steps after Vista loads:

  • AVG antivirus was began its usual scan.
  • MSN loaded up as usual.
  • Open up Windows Media Center and selected "Live TV".
  • Open up Virtual PC and began to run WS2003 to do some site definition testing.
  • I Opened IE7 to go to Gmail.

Could anyone that's able to replicate this problem let me know. We're trying to figure out if it's hardware related or a Vista bug.


Tuesday, 6 May 2008

Partial Keyword Search/Wildcard Search Webpart part # 2

I have the web part working now! I will upload the code onces I've cleaned it up a bit, but it works. I still want to performance test it and modify the results. I'll modify it to work with the current search web parts in the future, but for now it writes to a data view and I am modifying it so you can specify the XSL through the web part task pane. If anyone knows how to add the "XSL Editor" to that pane, please let me know that way I don't have to spend time researching it.


Monday, 5 May 2008

Partial Keyword Search/Wildcard Search Webpart

Im in the process of writting a webpart that does partial keyword search (or wildcard search). I have it working and Im prettying it up at the moment. I will post the code up there once i've completed the web part, so if anyone want it, shoot me an email and Ill forward it to them once it's complete.


Friday, 2 May 2008

Excluding and AD Group from a site.

I was asked what's the best way to exclude specific users from a SharePoint site that all authenticated users had access too.

It's very simple. Simply create a AD group and add those users to the group, then through Central Admin, create a policy to deny them access. To do this:
  • Go to Central Admin,
  • Click Application Management
  • Click Policy for Web Application
  • Click Add Users
  • Select the Web Application you want to deny users access to
  • Click next
  • In the users box, put the AD group (or if you didn't create the AD group, simply put the Usernames in there)
  • Click the Deny All or Deny write check box (or if you want to only give a specific user access, grant all)
  • Click Finished

Now the users in that group can't access the site, even though Authenticated Users have permission on the site level.

If you need any help doing this, please ask.


Sunday, 20 April 2008

Instructions on restoring a content database to a new farm.

Over the past week I've been working on a system where I've had to restore a very large content database from one farm to another. STSADM kept failing. The easiest way was to do a SQL backup of the database and restore it on the new farm's SQL server. Once we did that, through central admin we created a new web application, removed the content database associated with it from within central admin and added the restored content database.

Please note, you might sometimes see that once you attach it, it comes up saying sites as 0. To fix this, open up your restored database and configuration database in SQL Server. Then find the sites table in the restored database and located the ID of the site. Now open up the configuration database and find the SiteMap table. Located the row with the same site ID and then delete it. You should now be able to attach the restored database without issue.

Let me know if you have any problems with this.


Wednesday, 9 April 2008

Backup and Restore

Many of you may have come across this, but I thought i'd write about it. We have a SharePoint application who's database has hit over 50gb (should split it, but ill post about that later). Anyway, TSM backups keep failing and stsadm backups work fine, however fail during the restore process. A qucik way to fix this is to use Central Admin backup and restore. Its simple, and it worked fine for the problem we were having.

I still HIGHLY recommend spliting the content database to more than one db as it's getting very big and SQL will manage it much better. As I said, I will post about how to split it later when I get a chance.

Thursday, 3 April 2008

Web Applications and System Accounts

It's been a couple of weeks since my last post but I've been flat out fixing some SharePoint issues. I will add a post about it in a few days (it's a huge issue involving performance).

Anyway, I'm building a new farm for a client. It's a pretty large farm involving 6 servers (not including the DB). One thing I recommended was to have a different system account for each application they install on the farm. The main reason for this is to limit problems like accounts being locked or passwords being changed etc. This way, if a system account becomes locked, only the application using that system will stop functioning (instead of the entire farm). Now there's a bit more maintenance involved, however in the long run it's worth the work.


Wednesday, 19 March 2008

SharePoint and Silverlight

If anyone is interested is setting up Silverlight in any of their SharePoint webparts, there's an interesting site They have some basic examples (including a hello world webpart). If you're still having problems, let me know and I should be able to help you out.

Tuesday, 11 March 2008

Changing Alternate Access Mapping

I'm not sure if anyone else has come across this, but I thought I would put it in my blog. If you go through Central Admin and modify an existing Alternate Access Mapping, it doesn't modify the Host Header in IIS. eg, if for Custom you had it pointing to http://web1 and the new one is http://web2, the host header for that site in IIS will still point the web1 and when a user hits web2, they will hit the default website. Simply modify the host hear to also accept web2 and problem solved.

Tuesday, 4 March 2008

Exclude Search from hitting a specific list

I had someone ask me how to exclude search from searching specific lists. It's very simple.

To exclude all the items in the document library or list then go to advanced settings of the list and check the option to remove from search results at the bottom (set it to no). This will stop the search from hitting that specific list.


Exception occurred. (Exception from HRESULT: 0x80020009 (DISP_E_EXCEPTION))

If some of you have come across this error and don't know how to fix it, I have found 2 possible fixes.

1, Recreate the site collection

2, Webtempcustom.xml file in the C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\XML directory was corrupt and it was causing the problem.

You can try to fix the xml file, but much easier just to re-create the site collection.


Tuesday, 26 February 2008

On a different subject, Outlook Crashing

On a different subject, I had Outlook 2007 keep crashing on me yesterday when ever I'd reply to an email or Start a new email. The Office Diagnostics didn't find a problem.

After much looking into it deeper, I managed to find the problem. Some of the customised menu items (I think it was the google search) was causing the problem. After deleting the file outcmd.dat - find it in the hidden folder -c:\Documents and Settings/username/ApplicationData/Microsoft/Outlook - just rename it to outcmd.old. When you restarted Outlook 2007, it will create a new fresh file. Lost my menu customizations, but no big deal - at least it does not crash now.

Monday, 25 February 2008

"0x80040E14" or "HTTP 500" error message when you connect to your Windows SharePoint Services Web site after you install a Windows SharePoint Services

If anyone has come across this error:

Exception from HRESULT: 0x80040E14. Troubleshoot issues with Windows SharePoint Services.
HTTP 500 - Internal server error

either in search error logs or event error logs, specially after installing a service pack or a hot fix, there's an easy fix.

The main cause of this error is when the content databases in Windows SharePoint Services are not updated correctly during the installation.

Simply go to a command prompt and type:
cd /d %commonprogramfiles%\Microsoft Shared\Web Server Extensions\60\Bin stsadm -o upgrade -forceupgrade
This is a fix for both WSS 2.0 and WSS 3.0. If you're still having the problem, please let me know.

Friday, 22 February 2008

Cascading Drop Down Lists

I was trying to find a way to do Cascading Drop Down Lists in SharePoint, and I came across this interesting article.

It shows you how to do it. If you have any problems, let me know.


Thursday, 21 February 2008

Performance with large lists...

I have been looking around and playing with lists with over 2000 items in them. Although it is not hard limited to it, some (not all) systems with list over 2000 items do have performance issues. Here's a couple of links that are usefull:

I will play around with it a bit and see if I can find some solid evidence that SharePoint lists should not have more than 2000 items. If anyone has such proof, please send it to me.


Wednesday, 20 February 2008

AJAX and Web parts.

If anyone has followed my example of the Web Part that uses AJAX, they would have found some strange issues. When you modify the web.config, you will notice that it's still posting back to the server. The only way to let the changes to the web.config kick in is to restart your server. IISreset doesn't do it. Im still investigating why a reboot is needed. If anyone know why, please let me know.

if you restart the http service as well as IIS it will fix the issue. To restart the http server and IIS, here's the steps:
  • net stop http /y
  • net start http /y
  • IISReset /start

let me know if you experience the same issues I did.


Tuesday, 19 February 2008

Exception from HRESULT: 0x80040E2F, what does it mean?

Some of you during a restor (STSADM restore that is) might have come across this erorr:

Exception from HRESULT: 0x80040E2F

This HRESULT simply means, "Violation of PRIMARY KEY constraint ", which generally means one thing, you have entries in the database for this site previously, possibly orphaned, that is preventing the restore to continue.

Sometimes a simple -overwrite after the restore command would work, but sometimes the problem isn't that there was orphaned data to begin with, but rather "New" data related to the site added outside of the restore, that then causes the restore to fail.

The reason in this case, may be due to the fact that while the restore is progressing, the site isn't locked and therefore users accessing the site is causing the duplicate entries.

2 easy ways to fix this:

  • Lock the site from Central Admin
  • Switch off the site from IIS and remember to start it once the restore is complete.

This should fix your problem. If you are still having this issue, let me know and ill see if i can help.

New Daylight Savings Issue with SharePoint 2007

With daylight savings time changing in Australia, this could cause some issues with WSS 2.0 and WSS 3.0. There's an easy fix for this problem. Go to and follow the instructions. If you still have a problem following the instructions, please let me know and I will put details instructions up here for you to follow. But basically there's a few things to do:
  • Apply the latest cumulative time zone updates to the host Windows Server operating system.
  • Apply the latest hotfix or service pack to WSS to rectify known daylight saving issues and obtain the most recent version of TIMEZONE.XML.
  • Update TIMEZONE.XML to reflect the changes in daylight saving time.
  • Use the SharePoint TZMOVE function to adjust any time-dependent data items that fall between the old and new daylight saving times.

Tuesday, 12 February 2008

Announcing the Final Release of VSeWSS 1.1 (and the upcoming version 1.2)!

Its out, download it from here. Here's some of its features:

What's New in VSeWSS 1.1?

  • "WSP View", aka "Solution Package editing"
  • No more hidden, non-editable solution content!
  • Create new Features
  • Reorder Elements between Features
  • Conflict validation against existing Features
  • Rename existing Features
  • Change Feature activation order

Visual Basic support!

New Item Templates:

  • "List Instance" project item
  • "List Event Handler" project item
  • "SharePoint Template" item template, e.g. "layouts" files

Faster F5 speed (The tool no longer performs an IISReset. Now it only recycles the app pool.)
Solution Generator: you can now choose which lists should be included when exporting a site.
Many bug fixes, e.g.

  • No more GUIDs in Feature Names
  • Support complex project names, e.g. with periods.
  • Can deploy assemblies to the bin folder, instead of GAC

Plus many more. Download it and let me know what you think.


Monday, 11 February 2008

AJAX/ in a Sharepoint Web Part

I've been playing around with AJAX and web parts. Here is a sample web part that uses AJAX. Simple two linkbuttons that if you click one, is says hello xxxxx (and xxxxx is what you put into the text box) and the second link says goodbye xxxxx. If you need any help modifying it, please let me know. Remember, you need the service pack installed for this to work.

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Sample.SayHello
public class SayHelloWebPart : WebPart
private Label displayName;
private TextBox inputName;
protected override void CreateChildControls()
//Fix for the UpdatePanel postback behaviour.
LinkButton btnHello= new LinkButton();
LinkButton btnBye = new LinkButton();
UpdatePanel refreshName = new UpdatePanel();
ScriptManager scriptHandler = new ScriptManager();
displayName = new Label();
inputName = new TextBox();
//Set up control properties.
this.displayName.ID = "displayName";
this.displayName.Text = "Hello!";
this.inputName.ID = "inputName";
btnHello.ID = "btnhello";
btnJan.Text = " Hello ";
btnBye.ID = "btnBye";
btnBye.Text = " Goodbye";
scriptHandler.ID = "scriptHandler";
refreshName.ID = "refreshName";
refreshName.UpdateMode = UpdatePanelUpdateMode.Conditional;
refreshName.ChildrenAsTriggers = true;
//Add the EventHandler to the Button.
btnHello.Click += new EventHandler(ClickHelloHandler);
btnBye.Click += new EventHandler(ClickByeHandler);
//Add the user interface (UI) controls to the UpdatePanel.
//The ScriptManager control must be added first.
private void ClickHelloHandler(object sender, EventArgs args)
this.displayName.Text = "Hello "
+ this.inputName.Text.ToString() + ".";
private void ClickByeHandler(object sender, EventArgs args)
this.displayName.Text = "Goodbye "
+ this.inputName.Text.ToString() + ".";
private void EnsurePanelFix()
if (this.Page.Form != null)
String fixupScript = @"
function _initFormActionAjax()
if (_spEscapedFormAction == document.forms[0].action)
document.forms[0]._initialAction =
var RestoreToOriginalFormActionCore =
RestoreToOriginalFormAction = function()
if (_spOriginalFormAction != null)
document.forms[0]._initialAction =
typeof(SayHelloWebPart), "UpdatePanelFixup",
fixupScript, true);


Sorry, let out the web.config changes. This blog won't let me post up the changes, so email me and i will send it back.

Tuesday, 5 February 2008

The search request was unable to connect to the Search Service

There was a SharePoint farm not returning search results. The error it returned was

"The search request was unable to connect to the Search Service"

After looking at it, it was a very simple fix. The server wasn't configure to server search queries. A simple ticking of the box in central admin and it fixed the problem. To fix this:

  • Go to Central Admin
  • Operations
  • Services on Server
  • Office SharePoint Server Search Service Setting
  • Make sure "User this server for serving search queries is ticket

Problem solved.

Another thing that could be causing it is the Account used to search might not have the right access needed or the Search services aren't running. Check that

  • Office SharePoint Server Search and
  • Windows SharePoint Services Search

Should be both running. If you're still having problems, let me know and I'll try to help you out.


Tuesday, 29 January 2008

ASP.NET (AJAX) in SharePoint 2007

SP1 has AJAX 1.0 in it. Which mean you can use the functionality of AJAX in your webparts. I'm currently playing around with it, and Ill keep you posted of any problems I might encounter. If anyone has does it before, i'd be interested in seeing their webpart.

Monday, 21 January 2008

Anyone need help?

I've been helping a few people over the past few weeks with some issues they're having, but a lot of them have been very small and simple task. So I thought I'd ask people for some complex problems they might be having or are experiencing. If you have anything that you're having problems with, please let me know.

On another note, .net 3.0 SP1 is out now. I recommend you download it and install it on your system. It's help me eliminate some of the errors I've been seeing in the event logs.

Friday, 11 January 2008

Creating Event Handlers

People are still confused about event handlers and how to write them. Here's a good example from Microsoft on how to do it

If you still have difficulty creating an event handler, please let me know.

Monday, 7 January 2008

SharePoint Service Pack 1 crash


Some people have had SharePoint stop working after the installation of Service Pack One. This is mainly due to the upgrade process not completing. You can force an upgrade by running the following command from a command prompt:

psconfig -cmd upgrade -force

This will force the upgrade process to run again and should fix the problem for you.

# Added 11 Jan 2008

You might want to also try this:

Click Start, click Run, type cmd in the Open box, and then click OK.
At the command prompt, type the following lines, and then press ENTER after each line:

cd /d %commonprogramfiles%\Microsoft Shared\Web Server Extensions\60\Bin

stsadm -o upgrade -forceupgrade

Let me know how it goes.....


New year, new bugs

Well, the new year is here and the bugs haven't stopped. Im not sure if any of you have had the issue where you have both Office 03 and Office 07 installed on a box and SharePoint doesn't work the way it should. Things like datagrid views crashing ie. I have a fix for it. If you want to know how, email me. I will upload it in a couple of days.