Wednesday, 29 October 2008

SharePoint – the DMS for law firms?

"SharePoint will be the dominant DMS at law firms.   Nothing happens overnight in the legal vertical, but check back in ten years, more or less, and we shall see. "

-Bill Gratsch


View the article here: Part 1 | Part 2


My thoughts: I concur, in the mid-term at least, I think the momentum that SAAS (and S+S) is gaining is likely to replace in-house deployments of SharePoint in the longer (8 yr +) term, that said, I defiantly agree that nothing happens overnight within legal so will this actually (and perversely)  bring the "longer term" closer? I.e. if a DMS lives for another 3-5 years will firms look seriously at hosted solutions at that point? In the mid-tier maybe, but I doubt the big boys will...

Monday, 27 October 2008

Search providers (adding MOSS search to IE7/Firefox)

Just thought I would share something I knocked together earlier today...


This based partly on this from Mark Harrison and a sample from Greg Griffiths


So, you'd like the nice IE/Firefox search box to include searching your MOSS site(s)?? You can do Mark's registry manipulation (which if you control the desktops is easy enough through GPO) or something a little more elegant (IMO!). This works well for public facing or internal deployments (i.e. where authentication is seamless, because it's Windows Integrated or Anon!) but I would see issues with the user experience for an FBA deployment (be that SharePoint FBA or ISA FBA), but the functionality may be worthwhile enough to suffer with poor UX?? I guess "it depends" ...


Firstly, you need to know the URL's for your search result pages (one for "content" results and one for people) in MOSS, e.g. http://portal/searchcenter/pages/mainresult.aspx and http://portal/searchcenter/pages/staffresult.aspx (yours are likely to be different).


Then the need to know the format of the query passed to these pages, e.g. http://portal/searchcenter/Pages/Results.aspx?k=queryhere&s=All%20Sites note the query strings passed, in this example we have:


  • k= "the textual query" (queryhere)

  • s= the scope


Then you need to build the XML file that you will later reference... use the sample below:


<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="">
    <ShortName>Sample Search</ShortName>
    <Description>Sample for searching your MOSS sites</Description>
    <Url type="text/html" template="http://portal/searchcenter/Pages/Results.aspx?k={searchTerms}&amp;s=All%20Sites"/>


Warning: be careful with reserved characters in the XML - e.g. & which is common when using query strings, replace this with &amp; to avoid issues!


Edit the following fields to suit your environment:


  • ShortName

  • Description

  • URL template


You then need to upload this XML into a document library (for example) within MOSS or publish it to a URL by other means, whatever floats your boat, if using a MOSS library ensure you have checked in and published the file (if needed).


All you need to do then is reference the XML file in some java script, see example below:


<a href="javascript:window.external.AddSearchProvider('http://portal/resources/search_sample.xml');">Add Search (sample)</a>

This can be done either in a CEWP or a HTML FC, or in a normal HTML/ASP/ASPX/etc page (again, whatever floats your boat!)


There you have it, an installable search provider that searches your MOSS sites, you can, as shown above, have multiple result pages (e.g. dedicated to certain search functions like people search) or multiple scopes, this sample above allows you to leverage either method, depending on your own configuration. The only thing to be wary of is that each page/scope will require a different provider, also, if you have followed normal practice and have implemented tabbed searching in MOSS it's probably wise to include the "catch all" page in the provider and allow the users to filter the result base using tabs...


Hope this was useful...


There is a live and working example below:




<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="">
    <ShortName>Search Matt Groves Blog</ShortName>
    <Description>Sample for searching Matt Groves Blog</Description>
    <Url type="text/html" template="{searchTerms}&amp;s=104"/>


Java script:


<a href="javascript:window.external.AddSearchProvider('');">
<img src="">Add Search Provider (Matt Groves Blog)</a>


Demo: (opens in new window)

Saturday, 4 October 2008

MOSS Service accounts

I recently attended a great 2 day event at MSFT, the UK User Groups came together and had 2 full days of presentations, demo's and discussions, I found it very beneficial, the SUGUK sessions were great and I thought Mark Wilson's session on Hyper-V was excellent...


There were several questions raised in the SharePoint track chalk and talk sessions about service accounts so I thought I'd clarify things a little bit... I'll also see if a SUGUK session on Content DB's and Licensing is warranted, there were a few questions around these topics and I was asked about them by several people during the breaks, watch this space...


MOSS requires several service accounts, fact. Running everything as one user isn't good practice and isn't a good idea, even for dev/demo - IMO at least, Colin and Nick don't completely agree...

So, how many accounts do you need to run MOSS? The answer: "it depends..."

(yes, I am a technical consultant, since when did you expect me to actually answer a question?)


Seriously though, it does depend on your scenario, but at least 6...


Here a table that breaks down what you need:


Account Type


Suggested Service Account

MOSS Farm Account

Server Farm Account

This account needs some SQL permissions granting: dbcreator and security admin (do not grant this account SA!)

If using ADACM this is the account used for creating objects in the OU specified - so you'll need to delagate permissions on the OU to this user.


MOSS App Pool

Identity for the any MOSS Web App Application Pool(s)A separate process identity should be used for each content Web App (this allows for greater security and auditing). Using the site name in the naming is not advisable as although this may make troubleshooting and auditing easier it reduces security by showing the relationship between App Pools and Web Apps.


SSP Service Account

SSP service account


SSP App Pool

Identity for the SSP Web App Application Pool


MOSS Search

Account under which the Office SharePoint Server Search runs under


MOSS Content Access

Account used to access content sources to be crawled and indexed. Need to grant this account permission to any NON-MOSS content sources (e.g. NTFS file share, Exchange public folder, websites etc...)Separate accounts may be configured for access to specific content sources using crawl rules.


User profile & Properties Access Account

Account used to access Active Directory for the Profile import


WSS Search

Account which the Windows SharePoint Services Search service runs under. Due to the fact the Office SharePoint Server Search service is running this will only index the WSS Help files.


WSS Content Access

Account used by WSS search service to crawl content.


MOSS Install Account

Account used to install MOSS and perform all the required configuration changes.As this account will be used to install and configure the SharePoint servers it must be granted local admin on all farms members and have permissions to the SQL instance.This account can be disabled after installation and configuration is complete (it is not advised to delete it).


SQL Services

Used to run MS SQL Services




Hope this helps!


Useful reading:

Friday, 3 October 2008

web 2.0 in Legal

Myself and Antony Clay recently delivered an excellent (if I do say so myself Stick out tongue) presentation on the use of Web 2.0 technologies in the legal sector.


This was delivered at Legal Insight to an audience of top legal IT directors and IT professionals.


The presentation was very well received and stimulated a great discussion on topics such as governance (striking the balance between the "open" nature of Web 2.0 and the "control" of information required in a law firm), Second life, Social objects, internal adoption, client/public facing adoption and many other salient points...


The audience included illustrious bloggers such as Peter Birley