Sharee’s Blog

Software Development for Everyone

How to modify Search in SharePoint

November20

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 Taxonomy – a working example

February16

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

Central Administration Unavailable

January14

I was working on a client’s environment this week when all of a sudden the Central Admin and Shared Service Provider sites stopped working. Requesting any URL from these sites returned a “Service Unavailable” message. The main content Web site kept responding though.

When I checked IIS I noticed that the Application Pools for these Web apps were stopping as soon as I put through a page request. I’d restart them and they would stop again straight away.

IISReset didn’t do anything for me. Two Event Log errors entries being written each time the app pool was shut down. Details are below.
Event Type: Warning
Event Source: W3SVC
Event Category: None
Event ID: 1009
Date: 9/10/2007
Time: 12:33:13 PM
User: N/A
Computer: SHAREPOINT1
Description:
A process serving application pool ‘SharePoint Central Administration v3′ terminated unexpectedly. The process id was ’11380′. The process exit code was ’0×80′.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
==============================================

Event Type: Error
Event Source: W3SVC
Event Category: None
Event ID: 1002
Date: 9/10/2007
Time: 12:33:13 PM
User: N/A
Computer: SHAREPOINT1
Description:
Application pool ‘SharePoint Central Administration v3′ is being automatically disabled due to a series of failures in the process(es) serving that application pool.

Eventually I discovered that the password had been changed on one of the Service Accounts. In this case the account that managed the Application Pool and the account that managed the Timer service. So I simply went into IIS and reset the password. I also went into the Services and reset the password. Voila, my Central Admin site was back up and running. But there turned out to be many other issues that were introduced when the password changed. All of the sudden my event log was jammed with errors.

eventviewer.jpg

I started troubleshooting the issues one by one.

“Retrieving the COM class factory for component with CLSID {3D42CCB1-4665-4620-92A3-478F47389230} failed due to the following error: 8007042d. ”

The issue was caused by lack of permission on one of the service accounts. To see the real error, run the Event Viewer. Click on Run and then type Eventvwr. This particular error fell under the System log. The error was described as:

DCOM got error “The service did not start due to a logon failure. ” attempting to start the service OSearch with arguments “” in order to run the server:

The fix was to start Component Services (Under Administration Tools). Under DCOM config, you will find the OSearch component. First find out what the credentials are by using the Identity tab. If the Service is using a system account, you can either elevate the system account or supply a user with significant rights.

Quick troubleshooting tips:
1. Verify the username and password in the Central Administration App Pool (right click->Properties->Identity[tab])
2. Verify that any services that are running relating to IIS or WSS/MOSS are using valid usernames and passwords.
3. Verify that any services running for SQL Server are using the right username and password.
4. Verify that the account in question has the proper access to the sharepoint databases.

The moral of the story is changing service account passwords wreaks havoc on your SharePoint environment. If you are going to change passwords, there is really only one way to do it. See my previous blog.

Viewing Audit Log Reports

January6

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. Once auditing is placed on a list or library the audit log information can be viewed by performing the following 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 Audit log reports.
    Audit Log Reports
  3. On the View Auditing Reports page you can click on the type of auditing report and open it in Excel.
    View Auditing Reports
  4. If a report does not contain any data you will receive the following message:
    Audit Error
  5. If the report contains data a dialog box will appear as follows:
    Audit Log Reports
  6. When you open the file each report will have at least two separate sheets of data regarding the policy information. In this example Sheet 1 is called Audit Data – Table and shows basic information regarding the transactions.
    reportsheet1.jpg
    Sheet 2 is called Report Data and provides detailed information regarding each auditing transaction.
    reportsheet2.jpg

How to enable Auditing Policies in SharePoint

January5

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.

Auditing

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

January4

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.

Value

Description
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

January2

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 file.cab 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

November28

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

November24

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!

SharePoint Web Parts

November20

I’ve written a few blogs on Web parts, but today I found this amazing site that seems to have it all. It covers Web parts of 2003, 2007 and even 2010. Not much more to say but check it out.

« Older Entries