Web browsers and things on the web
11 Nov 2008

SharePoint Search Tips and Tricks

I thought I would share some tips and tricks for improving the search experience with SharePoint:

In any company you will have people of different backgrounds and skills using SharePoint, and one of the first issues is that search isn’t fine grained enough, and that users either don’t know or don’t feel comfortable with advanced search features to get it fine grained. To make “normal” search easier just add Faceted Search. If you are interested in what that is go and check out the site.

Next improve usage by lighting up SharePoint search to the browsers. Well what does that mean? It means that when you go to a website with a modern browser it “detects” the search functionality and allows you to add it to the build in search functions in your browser, so you can search the SharePoint site from your browser without even going to it first! It does this using an open standard called Open Search. To do this you first need to define an XML file which tells the browser what to do. Example:


Really simple, basically just the name and the encoding. The magic is handled by replacing the tag in the URL ({searchTerms}) with what the user is searching for. That file needs to be uploaded to a location on the SharePoint site where it can be read by users. The next step is exposing it to the browsers, to do this you just need to add a line to the header tag in your master page:

   1: <link rel="search" type="application/opensearchdescription+xml" href="/search/searchdefination.xml" title="BB&amp;D Portal" />

Now the browsers will see the tag and light up the search facility! This is really helpful for improving adoption of search.

Next up it would be great to search multiple locations and you can thanks to a feature in SP 1 called federated search. Where your search query actually calls other web sites for results and places them in a special section of the site, defined by a web part. As I am personally interested in a lot of technologies I think it would be great to have federated search to: Wikipedia, Linux.Com, Java.Sun.Com, MSDN.Microsoft.Com and TechNet.Microsoft.Com, like shown on the left.

What you may notice is that MSDN already has support for federated search, but the rest don’t! So how do you get around that? Well Live.Com also does has support for federated search and it also has support for limiting results to a specific site. So all that is needed to do is to create a search provider configuration for live.com and limit it to the specified website. You can download the sample providers I created below:


The last tip is to implement a very clean landing page for the site with a search box on it. As the new landing is cleaner and smaller than the it meant the initial feeling of SharePoint is it is that it is quicker and more responsive and so it also will improve adoption. To get the search box to search properly using just a tiny bit of HTML + JavaScript which looks like this (assuming you have a textbox with ID called query), this will create the button:

   1: <input type="button" width="100px" height="" value="Search" onclick="window.location='/pages/SearchResults.aspx?k='+document.getElementById('query').value+'&s=All%20Sites';">
11 Sep 2008

Microsoft CRM on Linux!

I work with great people who are open minded (none of this my brand is better than your brand thinking), so much so they are IMHO the driving force behind interoperability in South Africa. When I recently presented a session on Microsoft CRM and said that it couldn’t be used on other operating systems, Henk, our Linux expert, took it as a challenge to get it to work.
The main issue is that for MSCRM to work it needs Internet Explorer and it needs IE because of the million lines of JavaScript that exist and a lot of it makes use of MSXML which is not available cross platform.
Henk did some magic and found a program/tool/package called IE4Linux! What is IE4Linux?:
IEs4Linux is the simpler way to have Microsoft Internet Explorer running on Linux (or any OS running Wine). No clicks needed. No boring setup processes. No Wine complications. Just one easy script and you'll get three IE versions to test your Sites. And it's free and open source.

They mention three versions which are 5.0, 5.5 and 6.0, however 7.0 is in beta. Since MSCRM needs 5.5 or higher it just might work! Henk did his magic to get it working and I did mine (which was very easy, just making sure my VM is running and getting the firewall configured) and without much fuss he got Microsoft CRM running on Linux!!! He has promised a whole post on IE4Linux so if you want to know more please watch his site, otherwise enjoy the pictures taken from his Linux box below of MSCRM!

crm_on_linux2-blog  crm_new_contact-blog crm_movie_on_linux-blog
04 Jun 2008

MSDN Library Broken

So if you install the Internet Explorer 8 demo and you use Visual Studio, you will find that help gets broken. All that is happening is that the hxds.dll which dexplorer.exe needs gets provisionally blocked from running. The easiest way to fix it, is to start the MSDN library outside of Visual Studio and you should get prompted to run the add-on. If you run it, Internet Explorer will then be happy with it and the MSDN library will start to work
Image icon Clipboard01.png66.65 KB
11 Mar 2008

IE8 - The developers best friend

There are a few good reasons to use IE 8 as a developer but yesterday I found my new favorite. When using Visual Studio 2008 and running the site a new section appears in the solution explorer called Script Documents. In this little gem of a folder is the pages you are looking at, the scripts etc... all as the server provided them to the browser! Meaning if you open the .aspx page there is no ASP controls, just normal HTML. If you do inserts of JavaScript via OnInit, that is there as well. Amazing!

Image icon cool.png13.01 KB
06 Sep 2007

Revoked Certificate Preventing Install

This past week I battled to install MSCRM for almost 6 hours. I've done countless and fought every problem so believe me when I say this is such an odd event in my life now days that it actually is enjoyable trying to find out the problem. Now normal MSCRM install issues happen either at the environmental diagnostic wizard stage, or during the actual install. This happened much earlier, in fact when I tried to add a license key. When Adding the key and hitting add I got  a dialog saying:

The specified license is invalid.

For additional details see logfile C:\Documents and Settings\XXX\Application Data\Microsoft\MSCRM\Logs\crm30svrsetup.log.

Odd, but maybe it is wrong. I try it a few times and think well I'll pop on my trust 90 day trial to get up and running and deal with Microsoft on issuing a new key. Guess what he trial key failed too.

I'm not posting this on my IW blog (see right bar) because it's more than a MSCRM issue, because then I thought maybe something in the OS is wrong so lets install all the patches and reboot. One of the patches was Internet Explorer 7 which also refused to install with an error: Setup could not verify the integrity of the installation files. Make sure the Cryptographic service is running on this computer.

What now? I tried numerous articles and suggestions gleamed from the Internet including a monster (http://support.microsoft.com/kb/822798) on from Microsoft which has reinstall Windows as an option listed (no I didn't do that, this box is running other applications just fine). But from what I learnt is that all Microsoft software is digitally signed but if something goes wrong with the certificates on the machine then it's borks the installation of those applications. MSCRM in my mind had the same problem since (I guess) it uses the digital certif to do the CRC (or similar) check on the key I used.

What was interesting was all the certificates were 100% fine, but if I right clicked on the MSCRM install MSI file and checked it kept saying the certificate had been revoked. Odd? Since it's not revoked on my machine or any other machine. And if Microsoft revoked a certificate like this why don't I know, hell, why are they still shipping IE with it? Something must be wrong.

What I found was a rouge revoked certificate had been installed, where it came from I do not know but it was there. To remove it I opened IE 6, went to the Tools Menu -> Internet Options. Then on the Content tab clicked Certificates, and on the last tab (Untrusted Publishers) I was able to see the rogue certificate and remove it. After that all installed ok.

Now just a side thought round this, but Microsoft recommends digitally signing all software. So if I was an anti-virus company or security company that took this serious I would not only sign the install of the software but the runtimes and update definitions. The downside is that if a virus/trojen could install a revoked certificate (not sure what privileges you need on XP, but I guess this is a UAC controlled operation on Vista) then it could bork all your security. Scary how 1 file can do that.

Update 13 Feb 2008: Trust me to have the wrong link for the monster article, then send it to a client as the solution to there problem. DOH! Fixed now.

11 Jul 2007

This IE add on should be standard

Bruce Nicholson pointed the other day to an add on for IE call IE 7 PRO (You can get it from http://www.ie7pro.com) which has some great features. His main one to show me was th spell check feature which allows you to spell what you type in web pages. You can see the difference it made to my potjie article Before and After. This is really nice but not my favorite featre.

My favorite is the crash recovery, should IE or Windows crash (which my Vista install does when I sleep it in a hurry) the next time you open IE it prompts you to restore the last session. If you say yes it opens all the tabs to the locations you were at. AMAZING :)