SharePoint 2010 and first impressions

It has been 4 great days here in Las Vegas. Many great breakout sessions (and a couple of not so good :-)), and SharePoint 2010 looks very good. It has matured and the "child illnesses";
  • accesibility - table tags everywhere
  • really bad editor usability experience (try inserting a new image in 2007 ...)
  • shared services scalability issues
  • not very good wikis and blogs
  • no tagging
  • limited or missing taxonomy
  • hard to reuse content types accross site collection, web applications and farms
  • BDC was difficult to use
  • missing wildcard search
  • ++
are now completely cured.


SharePoint 2010 and Visio Services

SharePoint 2010 includes one major new thing: Visio Services. With these services you will be able to create great visio diagrams, hook them up to live and static data, and then publish them to your SharePoint site. The diarams will be rendered in the brwoser, and therefore now need for a local Visio client viewer.

Several demos at the conference have shown some great capabilities of these Visio Services. They will be a part of the Enterprise license, and I think you all must upgrade soon to get the complete "package": Excel Services, Forms Services, Business Connectivity Services (the "old" BDC) and now also Visio Services.

The following picure illustrates what can be done (illustration copied from Visio blog on Msdn)

More will come.


Let's get ready to rumble! SharePoint Conference 2009 is about to begin!

I've registered, ready for tomorrows sessions, and reading through the introduction to SharePoint 2010 - a 200 pages thick book. I think I'll skip most of the intro sessions and rather get to know more details - get "under the hood" of this "pice" of software. Next up is to take a look at the exhibitor stands, get some free drinks and meet other SharePoint enthusiasts.


Seems like in every new SharePoint 2007 installation there must be some problems, and now "Your search cannot be completed because of a service error"

and the event log on the SharePoint server gave us this nice error message:

Event ID: 10036
Description: A database error occured.
Source: Microsoft OLE DB Provider for SQl Server
Code: 6610 occured 1 (times)
Description: Failed to load msxmlsql.dll

After "googling around", checking logs, reinstalling SharePoint, applying service pack 3 to the SQL 2005 Server (it installed the missing dll by the way) we gave up. Even if we provided the sql server with the missing dll it would not work. We were able to recreate the error on a different machine (and even fix it), but not to fix it on the production server.

Conclusion: Build a new SQL Server 2008 from scratch and move and upgrade the database.

1 1/2 day gone! :-(


SharePoint 2010 is comming to a server near you - soon!

Me and my colleagues will definitly be working with SharePoint 2010. I just can't wait to get hold of and start wokring on the bits & pices. Participating in the Early Adapter Program for SharePoint 2007 was a great experience, and I hope I'll be able to start working with SharePoint 2010 at a very early stage as well. SharePoint 2007 has been a success, and will SharePoint 2010 bring the platform/product to a "higher level"? Time will show, but I do think so!

Customizing the SharePoint 2007 Search using a little bit of JQuery

On a SharePoint site we got an issue where we had to let the user be able to search for the last five digits in the phone number. Why? Because the users will only se the last five digits on their phone when somone calls in. The complete number (8 digits) is registered in the profile (imported directly from Active Directory. It also complicated matters that we are running Ontollica Wildcard search (the free edition). Ontollica is a good tool, but it it's not simple to customize, and now I had to make Ontollica Search Web parts and standard SharePoint Search web parts work together.

I used the following JQuery script (in a Content Editor Web Part). It picks up the etnered five digit number add the possible prefixes to the entered number, build up the correct query including managed properties, and redirects the user back to the same page.


New release of the SharePoint 2007 Application Development Guidance

A new release of "Developing SharePoint Applications, Guidance for building collaborative applications that extend your LOB systems" has been released. It provides a lot of very relevant information and examples on how to apply good development (best) practices and patterns when customizing SharePoint.

Some modules that you can yse right away (and maybe get rid of some old code):
  • Logging componenten. Logging events in your SharePoint solutions.
  • ServiceLocator. Implementation of the Inversion of Control and the Service Locator pattern. Making your SharePoint solutions more service oriented and decoupling interfaces from their actual implemtations are absolutly very usefull - especially when it comes to testing.

You can find it and download it here.


SharePoint 2007 User Import job fails when run by the scheduler - Bad Gateway error in the ULS

After some security patches had been installed on the front end servers in the farm the user import jobs (in Shared Services) did not start/run. Starting them manually from the Shared Services admin page worked.

Checking the sharepoint logs (ULS) on both servers i found the following error : "Job for import of distribution lists failed. Reason: Cannot get the crawler status --> System.Net.WebException: The remote server returned an error: (502) Bad Gateway ..." So, there is a problem with the communication between the front end server, the crawler server, and the proxy inbetween.

After some "googling" I found a solution that solved my problem on Vince's SharePoint Blog.

What I did was:
  • Log on to the front end server with the same credentials as the Window SharePoint Service Timer Job
  • Open Internet Explorer (IE)
  • Go to internet Options Connections LAN settings
  • Check the box "Bypass proxy server for local addresses"
  • Close IE
  • Restart the Window SharePoint Services Timer job (sptimer3).


JQuery components for Count Down and Date/Time Picker

Keith Wood has created som great JQuery plugins - including a Count Down counter and a date/time picker. Check it out here: http://keith-wood.name/


Bjørn Furuknap has "compiled" what we know about SharePoint 2010 so far

in another great issue of the SharePoint Journal. This issue is free. Read it here: http://www.sharepoint2010beta.com/

I'll also recommend his book "Building the SharePoint User Experience". It has a lot of valuable information on how SharePoint works and how you can improve the user experience in your solutions (site templates, list temaplates, content types, views, CAML, custom field type, etc.).


Elevated Privliges, Kerberos, NTLM, Pool Account Identity, Impersonation, etc

Here are some code snippets that I frequently use to run code with extra privliges, access resources using WebRequest, etc.:

// Accessing resource files using Pool Account credentials, for example,
// to avoid 401 Unatohorized Access messages in production
using (HostingEnvironment.Impersonate())
WebRequest req = WebRequest.Create("url to my xsl file");
StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream(),


// To run code with eleavted privligies:


403 Forbidden when trying to insert a document or link - hitting the Browser button (AssetPortalBrowser.aspx)

You (or you or your users) will (sooner or later) encounter a "403 Forbidden" error when hitting the Browse button in the AssetPortalBrowser dialog. The reason for this is (most likely) that the previous url location addressed (i.e. browsed to) in the dialog is either moved or you (or your user) no longer has access to it.

Thanx to Steven that had identified the cause and how to fix it. Read more here ...

Therefore: Be aware of possible problems after you have restructured your site ....


Locking down SharePoint Designer in your SharePoint 2007 environment

If, you haven't had the need to lock down your SharePoint 2007 farm from being uses/accessed by SharePoint designer to some degree you probably will have soon. People with access to a site/site collection/web app/farm have a "loaded gun" at their hands if they are allowed to use it => The mayl "kill" your site/app/farm.

Here is a blogg that explains your options: "Lock down SharePoint Designer"

Customizing list forms (edit/new/display) with SharePoint Designer and correct handling of attachements

Of course, I had to run into the issue with correct handling of attachments when customizing list form with SharePoint Designer. The error you get is: "This form was customized not working with attachment."

The solution is well explained in the following KB article: http://support.microsoft.com/kb/953271


Custom SharePoint Designer Workflow Actions errors in SharePoint 2007

When creating custom avtivities/actions to be used in SharePoint designer you may get an error stating that the workflow may be saved, but cannot be run. If this is the case it may be that there is "garbage" in either your web.config file, or there are *.actions files in your Workflow folder that references non-existing librarys. I got the error when retracting an old solutions containing custom actions that DID NOT clean up the file structure.

If you custom actions show up in the lists of available actions - and that is the onlyt thing that is displayed - check that uou have activated your feature (if deployed through one).

AND you have to make sure that every library/dll referenced in your actions/activities actually are installed on the server. Even if your code compile well it may not run ....

Of course the hardest one to find: TYPOS!