Staff directories are a very common request for Intranets. Oddly SharePoint doesn't have a feature called Staff Directories but it contains many bits and pieces that can help build one.
i.e People Search, Custom user properties, My sites, People and Groups page.
There are also out of the box solutions that you can purchase from http://www.bamboosolutions.com such as http://store.bamboosolutions.com/p-41-user-directory-web-part-release-14.aspx
Or you can write code such as http://blogs.syrinx.com/blogs/sharepoint/archive/2007/10/05/sharepoint-2007-face-book-web-part.aspx
This article is to demonstrate how far we can go with just out of the box configuration trying various methods.
Method 1 - Using the User Information List
################### Read this First ################################
Before you try this at home, please note that this solution is very limited. I am making notes as I attempt various methods and these articles are my findings not neccesarily the best solutions.
A better solution is found in part 2 of this article - http://blog.sharepointsydney.com.au/post/Creating-a-staff-Directory-in-SharePoint-Part-2-People-Search.aspx
Pros of this method
-
Very easy to set up
- Does a good basic job
- Some decent styles and info available OOTB
Cons
- Can't create own styles
- Content doesn't synch with SharePoint Profiles (This may be fixable with Bamboo Solutions User Sync)
- As users are removed from SharePoint they still remain in this list (This may be fixable with Bamboo Solutions User Sync)
- Can't edit the page that results appear on. E.G Can't add web parts.
- Can't search for users. Can only group by SharePoint groups.
- When users update their details in MySites it takes a while for the UIL to reflect the changes. This is because syncing is done by a Timer Job called "Profile Synchronization" which runs by default once an hour.
More info: http://sharepointsherpa.com/2008/01/31/employee-directory-using-user-information-list-in-sharepoint-2007/
As part of the experiment I will use the Personalization Site Template
to create a dedicated Staff Directory site for no particular reason
other than I want to see what this site template does.
So here is what the new site looks like. It is just a normal site but it contains a couple of filters preloaded on the page. It also applies a link to this area directly to the creators mysites section.
Now let's go to the People and Groups page and see what our options are.


In this image you can see that I have actually jumped a few steps ahead.
Really all that I have done is created a few groups - Sales, Marketing etc. Under Settings -> 'Edit Group Quick Launch' you can define which groups to show in the Quick Launch on the left.
In our example the client would like to be able to browse by department so we can either create groups to represent each department or perhaps these departments already exist if you are using AD.
Next notice in the top right dropdown that we have created a new view called Staff Directory. You could create as many views as you like perhaps even filtering by location. Or alternatively instead of using the groups in quick launch you could use the views to filter by dept instead.
Note: For some reason list settings option only appears from the top level site which is where you go to create custom views.

Here is where we start the limitations of this approach. You can create a new view but the properties that are displayed in that view seem to be limited to these.

Not sure at this point if you can add more. This may not be a huge limitation as all we areally want this view fo ris to display some basic info about the users and if they want more they can really click through to the user MySite page.
The other bit of customisation for this view is that you can select different styles for displaying the info.

I'm trying to find if you can create your own styles but can't find any info.
You can open any of the views of the UIL from SharePoint Designer by opening the root site but the only options available appear to be the same as you get from the browser view.
On thing I noticed is that a ListViewWebPart is used to display the info but can't find any info on editing styles for LVWP either.
At this point this solution is not looking flexible enough for me so I am abandoning it and moving onto trying the People Search instead in part 2 of this artilce.