Sharee’s Blog

Software Development for Everyone

How to modify Search in SharePoint


Many templates (WSS or SharePoint Foundation) come with the Search box on the main page. One of the challenges with these templates is that they only perform a site wide search. The search box will not search sub-sites, people, or across site collections. You can use different templates that enable enterprise wide searching, but what if you already have an existing site collection that is already using one of these templates.

So here is an alternative. You can enable the Publishing Infrastructure on the site collection, add a search center, and disable the search box on the main site. To disable the search box you can either edit the master page (not recommended) or add the following script to the page

#s4-search area { display:none; }

SharePoint Hosting


I have now had well over 50 SharePoint sites hosted by various Internet Service Providers (ISP’s) and I can tell you all kinds of horror stories as well as rave reviews. But, instead of listing all of the different providers I narrowed it down, for the sake of time, to just two; the best and the worst.

Apps4Rent – The best ISP for SharePoint that I have used to date. Their customer service is excellent, their setup is easy, the people actually seem to know a little about SharePoint (emphasize little). The only thing I don’t like is the way in which I have to add users. With some other ISP’s it was easy for anyone to add a user using the SharePoint interface. With this ISP you have to use the control panel, of which not many people will have access. This could be a deal breaker for some sites, but for me – the benefits of this ISP have outweighed this issue.

Appliedi - The WORST ISP for SharePoint that I have used to date. Their customer service is non existent, they have had their servers go down for – get this – over 5 days straight!!! And the compensation they offered was $8.95. Yeah, right! I had two dozen sites down for over 5 days – my challenge is migrating these sites off of this ISP. They have no failover capability, even though their policies state that they do. Nobody in tech support knows anything about SharePoint. They haven’t been able to get Search working for over 2 years. Trust me, if you care about your data, don’t use

SharePoint Taxonomy – a working example


If you are a regular blog follower you are aware of my emphasis on design whenever I talk about SharePoint. I tell most of my clients you will either design your environment before you deploy or after, but you will design it. I recommend the design process take place in the beginning stages, as it is usually easier, more effective, and will give a good impression of the technology. There is a cultural shift in thinking that takes place when migrating from a file share system to SharePoint. Using metadata and views instead of folders is just one example of that.

What I have found is that even with my emphasis on design, many people still do not understand designing the taxonomy (aka the data). There are many different ways you can tackle designing your data. You can utilize technologies such as Unified Modeling Language (UML) or you can use more simple techniques such as card sorting. While I have documented many UML diagrams, for SharePoint I prefer the more simplistic method of card sorting. I have several articles regarding card sorting in previous blogs.

So, here is an example of a basic card sorting exercise I did with a group of employees this week. Helping them design their intranet and team sites for finance, sales, and human resources. See my blog article on definitions of sites for a clear understanding of intranets and team sites. In this example we used post-it notes as our index cards. I had the HR dept create their list of items, but I had people from the Finance and Sales departments organize the data for HR. This allowed the people in HR to see how outsiders would look for the information. I think this is a valuable lesson as the number one issue people have is not being able to locate their data.

If you try to organize all of the data yourself, you are sometimes too close to the data. You may understand all of the department specific terminology, where people outside the department can say “I don’t understand what that means”. In addition, the way you might organize something within a department may not translate outside the department.

While the exercise can take time, what it provides is several benefits. First, you are involving end users in the design process. This is a huge benefit as they are the consumers of your data and will help you see things from their perspective. Second, you get buy in from the users to the new technology. This may be the biggest obstacle you have to overcome. People want to help. By asking a few people outside of your department to help you organize your data you will usually end up with a more effective way of creating your Web site. Finally, these end users that you recruit can become a champion of the new technology and help other users adapt to the change. 

Finance                                                  Sales

Finance Department    Sales Department

Troubleshooting WSS 3.0 Installation


So this is one of my “in the trenches” blogs. I’ve been setting up a new server to run WSS 3.0, which I’ve done a dozen times. I have several SharePoint 2007 servers I am currently running, and WSS is a prerequisite, so this shouldn’t have been an all weekend project. But, for some reason, this particular install was not cooperating. I performed the same steps in the same order, except in this case I did not install SQL Server. In most of my installations I installed SQL Server since I would be using MOSS. So I installed Windows Server 2003 with IIS, the .NET Framework 2.0 and 3.0 and then tried installing WSS, but kept receiving the following error message:

Setup is unable to proceed due to the following error(s):
This product requires ASP.NET v2.0 to be set to ‘Allow’ in the list of Internet Information Services (IIS) Web Server Extensions. If it is not available in the list, reinstall ASP.Net v2.0.
Correct the issue(s) listed above and re-run setup.

When I checked IIS, sure enough it was not listed in the Web Server Extensions. I tried adding it manually, but that did not fix the problem. So I went back to some old notes I had when troubleshooting issues with .NET 2.0 and found this command line and fixed everything. 

aspnet_regiis -i

You have to run it from the \Windows\Microsoft.NET\Framework\ directory.

posted under SharePoint, WSS | No Comments »

How to enable Auditing Policies in SharePoint


There are many different reasons to create policies in SharePoint. One of the main reasons my clients are looking to implement policies is for auditing purposes. They want to know what their users are doing and they want to be able to track that information over a period of time. This is a perfect reason to create a policy. By definition an information management policy is a rule or set of rules pertaining to information. For example, I might want to enforce a policy that determines the timeline of when documents can be deleted with a specific document library (known as an expiration policy).

An information management policy is a set of rules for a type of content. Information management policies enable organizations to control and track things like how long content is retained or what actions users can take with that content. Information management policies can help organizations comply with legal or governmental regulations, or they can simply enforce internal business processes. For example, an organization that must follow government regulations requiring that they demonstrate “adequate controls” of their financial statements might create one or more information management policies that audit specific actions in the authoring and approval process for all documents related to financial filings.

There are four policies that SharePoint provides: Expiration, Auditing, Labels, and Barcodes. Policies can be created at the granular level of the library or at a more global level at the site collection. Policies created at the site collection level can be created once and then reused throughout the site collection. Each individual rule within an information management policy is a policy feature. Office SharePoint Server 2007 includes several predefined policy features that organizations can use individually or in combination to define information management policies for their sites. The policy features included in Office SharePoint Server 2007 are:

  • Auditing  The Auditing policy feature helps organizations analyze how their content management systems are used by logging events and operations that are performed on documents and list items. Organizations can configure the Auditing policy feature to log events such as when a document or item is edited, viewed, checked in, checked out, deleted, or has its permissions changed. All of the audit information is stored in a single audit log on the server, and site administrators can run reports on it. Organizations can also use the Office SharePoint Server 2007 Object Model to write and add custom events to the audit log.

  • Expiration  The Expiration policy feature helps organizations delete or remove out-of-date content from their sites in a consistent, trackable way. This policy feature helps organizations manage both the cost and risk associated with retaining out-of-date content. Organizations can configure an Expiration policy to specify that certain types of content expire on a particular date or within a calculated amount of time after some document activity (such as creating or editing).

  • Barcodes  The Barcodes policy feature enables organizations to track physical copies of documents or list items that have been printed from a site. The Barcode policy feature creates a unique identifier value for a document. Users can then insert a barcode image of that value into the Microsoft Office documents they create. They can also use a barcode on a physical copy of a document to search for the original copy of that document on the server. By default, barcodes are compliant with the common Code 39 standard (ANSI/AIM BC1-1995, Code 39). Organizations can use the Office SharePoint Server 2007 Object Model to install other barcode providers.

  • Labels  The Labels policy feature also enables organizations to track physical copies of documents or list items that have been printed from a site. The Labels policy feature automatically generates text labels based on document properties and formatting that a site administrator or list manager specifies. When users insert labels into Microsoft Office documents, the labels are updated automatically with the information from the document’s properties. 

For additional information regarding policies and policy definitions check out this Microsoft Article. Microsoft also provides a set of generic steps on how to Create an Information Management Policy for a Site Collection.

In this example we will create a site collection auditing policy and apply it to a library in a sub site. Keep in mind that although we enabled auditing within this library, to view the reports there are some settings on the server that need to be configured. Please see the previous blog Enabling Site Statistics in a MOSS Site.

To create a site collection policy follow these steps: 

  1. Navigate to the top level site within your site collection by clicking on Site Actions –> Site Settings (if you are using a MOSS template you will then need to click Modify All Site Settings).
  2. In the Site Collection Administration section click Site Collection Policies.
  3. On the Site Collection Policies page click Create.
    Create Policy in SharePoint
  4. Fill in the Name field with a descriptive name for the policy. In this example I will use Company Auditing Policy.
  5. Fill in the Administrative Description field. This information is displayed to list managers when configuring policies on a list or content type.
  6. Fill in the Description field. This information is displayed to the users when they are implementing the policy on a list or content type.
    SharePoint Policies
  7. Next you will need to decide the type of policy you are creating. In this example I will select Auditing and select all items except the first one (Opening or downloading documents…). Click OK to create the policy.


The next step is to apply the policy to a list or library.

  1. Navigate to the library where you want to apply this policy. In my example I am in the Shared Documents library.
  2. Go to the Settings menu and select Document Library Settings.
    Document Library Settings
  3. In the Customize Shared Documents page, in the Permissions and Management section, click the Information management policy settings link.
    Information Management Policy Settings in SharePoint
  4. Select Use a site collection policy and pick the policy from the drop down menu.
    Applying a Policy in SharePoint
  5. Click OK to apply the policy. At this point the policy is applied to the library and will start logging the users actions.

To view the auditing reports see this blog.

How to determine your list template


Previously I blogged about site templates types but I thought it might also be useful to find the list template types.

  1. Navigate to the list and view the all items view. Each list is different but all lists come with an all items view by default. However in publihsing sites there is a Pages Library which is typically found at http://ServerName/Pages/Forms/AllItems.aspx, and for the Images images library it will be – http://ServerName/PublishingImages/Forms/AllItems.aspx
  2. In the browser go to View, Source and search for “ctx.listTemplate”.
    The Pages Library it will show – “ctx.listTemplate = 850;” and the Images library it will show “ctx.listTemplate = 101;”).

For other template types you will need to look up the list ID so here’s a list.


100 Generic list
101 Document library
102 Survey
103 Links list
104 Announcements list
105 Contacts list
106 Events list
107 Tasks list
108 Discussion board
109 Picture library
110 Data sources
111 Site template gallery
112 User Information list
113 Web Part gallery
114 List template gallery
115 XML Form library
116 Master pages gallery
117 No-Code Workflows
118 Custom Workflow Process
119 Wiki Page library
120 Custom grid for a list
130 Data Connection library
140 Workflow History
150 Gantt Tasks list
200 Meeting Series list
201 Meeting Agenda list
202 Meeting Attendees list
204 Meeting Decisions list
207 Meeting Objectives list
210 Meeting text box
211 Meeting Things To Bring list
212 Meeting Workspace Pages list
300 Portal Sites list
301 Blog Posts list
302 Blog Comments list
303 Blog Categories list
1100 Issue tracking
1200 Administrator tasks list
2002 Personal document library
2003 Private document library

How to determine your site template


I had a student send me a questions several weeks ago “is there a way to definitively determine if it a site is based on a WSS or a MOSS template?” I’ve been searching, e-mailing, and posting in order to find the answer, to no avail. So, with enough persistence I was able to figure it out. The answer is YES! What you need to do is save the site as a template, save the template to a file, rename the file, and view the code. I have listed all of the steps below, you just need to make sure you are on starting on the site you want to determine your template.

  1. Go to Site Actions, Site Settings
  2. In the Look and Feel section, click Save Site as Template. Note: if your site has the Publishing feature turned on or is based on a Publishing site template the Save Site as Template link does not appear. Read the Microsoft Knowledge Base article on how to save Publishing sites (or sites with Publishing turned on) as templates. There is a link available in a publishing site so you have to navigate to url/_layouts/savetmpl.aspx to save as template in a publishing site.
  3. Name the new site template
    How to determine your site template
  4. Once you save the template, click the link to go to the Site Template Gallery.
    How to determine your site template in WSS 3.0 or MOSS 2007
  5. In the Site Template Gallery, click on the name of the template. A File Download dialog box will display.
    How to determine your site template in WSS 3.0 or MOSS 2007
  6. Click Save. Give the template a name and location. By default the file will save as a .stp file.
  7. You are finished with the SharePoint portion, now you will need to locate the .stp file that you saved and rename the file with a .cab extension.
  8. Open the new and you will find a manifest.xml file. This is the file that stores the template information.
  9. You will need to extract the manifest.xml file and then you can open it.
  10. Once the manifest.xml file is open, locate the Details section. You will find the <TemplateID> node that will tell what template this site was based on.
    Site Template Manifest

The template ID’s are as follows:

 0 – GLOBAL (SetupPath=global) – “Global template”
 1 – STS – “windows SharePoint Services Site”, “Team Site”, “Blank Site”, “Document Workspace”
 2 – MPS – “Basic Meeting Workspace”, “Blank Meeting Workspace”, “Decision Meeting Workspace”, “Social Meeting Workspace”, “Multipage Meeting Workspace”
 3 – CENTRALADMIN – “Central Admin Site”
 4 – WIKI – “Wiki Site”
 7 – BDR – “Document Center”
 9 – BLOG – “Blog”
 20 – SPS (OBSOLETE) – “SharePoint Portal Server Site”
 21 – SPSPERS – “SharePoint Portal Server Personal Space”
 22 – SPSMSITE – “Personalization Site”
 30 – SPSTOC (OBSOLETE) – “Contents area Template”
 31 – SPSTOPIC (OBSOLETE) – “Topic area template”
 32 – SPSNEWS (OBSOLETE) – “News area template”
33 – SPSNHOME (SubWebOnly) – “News Home template”
 34 – SPSSITES – “Site Directory area template”
36 – SPSCOMMU (OBSOLETE) – “Community area template”
38 – SPSREPORTCENTER – “Report Center Site”
39 – CMSPUBLISHING (SetupPath=SiteTemplates\PUBLISHING) – “Publishing and Team Collaboration Site”
40 – OSRV (SetupPath=SiteTemplates\OSRV) – “Shared Services Administration Site”
47 – SPSPORTAL – “Corporate Intranet Site”
50 – SRCHCEN – “Search Center”
51 – PROFILES – “Profiles”
52 – BLANKINTERNETCONTAINER – “Internet Presence Web Site”
53 – BLANKINTERNET – “Publishing Site”, “Press Releases Site”, “Publishing Site”
54 – SPSMSITEHOST – “My Site Host”
90 – SRCHCENTERLITE (SetupPath=SiteTemplates\SRCHCENTERLITE) – “Search Center Lite”
6221 – PWA (SetupPath=SiteTemplates\PWA) – “Project Web Access Site”
6215 – PWS (SetupPath=SiteTemplates\PWS) – “Project Workspace”
14483 – OFFILE – “Records Repository”, “Records Repository”

SharePoint for Project Managers


I just finished putting together curriculum for a new class I will be teaching, and I am so excited. SharePoint has many, many capabilities – many of which are totally under utilized. This course focuses on the capabilities applied to a project management perspective such as Issue Tracking lists, Risk Management lists, Change Requests, and more. So, I’ve listed a few of the resources I found that I though were terrific and hope you find useful in developing SharePoint sites to manage your projects.

SharePoint Project Management Templates
WSS 3.0 Project Tracking Workspace

WSS 3.0 Budgeting and Tracking Projects Template
Project Change Order Request
5 Tips for using SharePoint as a PMIS
How to Successfully Launch a SharePoint PMIS
Change Request Web Site
Simplify Project Management With SharePoint
MSDN Webcast: Collaborative Project Management With SharePoint Server 2007 (Level 200)
MSDN Webcast: Adding Project Management Smarts to Your Applications Using Office Project Server 2007
MSDN Webcast: Managing a Project Management Office with SharePoint
Bamboo Solutions Case Study
Occidental College Case Study – using Wikis
Wiki Pages for Project Management
O’Reilly Webcast: Build a PM Dashboard with SharePoint
Wine Tasting Fund Raiser Project Template
Tradeshow Planning Project Template
New Product Launch Project Template
60 Day Trial Download of MS Project 2007 - Product Key (FPP) QV97D-2W3G9-P8KKC-8KK38-GCHTQ

October 2009 Cumulative Update Packages for SharePoint Server 2007


Today I had a client ask about the specific steps involved in updating their SharePoint server. Obviously it is important to update the operating system as well as the SQL Server. But SharePoint has several of its own updates you need to be aware of. There is a download package from April 2009 and the October 2009 Cumulative Updates. The Microsoft SharePoint Blog Team has provided the following Posts to help you with the updates.

Installation Recommendation for a fresh SharePoint Server

April Cummulative Update Packages
Octover Cummulative Update Packages

Here is an excellent video of Understanding and Deploying Hotfixes, Public Updates, and Service Packs. Good luck!

Determining User Permissions


One of the biggest challenges in SharePoint is permissions. Without proper architecture you can have broken permissions from a top-level site to a subsite, from the site to the list or library, and from the list or library to the item or document. Whew, did you catch all that? Point being that permissions can get out of control. While the best thing to to is try to reduce broken permissions, it is not always possible. So, one of my colleagues found this great Web part that will show you the different permissions of each user. The Access Checker Web Part is a Windows SharePoint Services Web part from Codeplex, for use within Windows SharePoint Services v3 and Microsoft Office SharePoint Server 2007. The Web Part displays a tree view showing permissions on objects for a user scoped to a Site hierarchy. There is a second mode that is useful to see the permission inheritance of objects in a Site hierarchy. To read the full article, click here. Thanks Zubair!

« Older Entries