Web Development

Planning libraries and lists in SharePoint 2007

You can get more use out of SharePoint 2007 through the use of custom lists and libraries. Here's how you make them work.

SharePoint 2007 has lots of great features, but its primary function is to allow users to create, manage, track, locate, and collaborate on data as efficiently as possible. Often, these functions are achieved through the use of document libraries. Although document libraries are handy, I have found that a lot of administrators initially want to create a default document library, and then allow that document library to evolve as the organization's needs change and as the staff gets to be more comfortable with SharePoint.

This approach usually gets the job done, but there are other types of document libraries that can more efficiently meet a company's needs. In fact, lists are often overlooked, but are more suitable for storing some types of data than document libraries are.

In this article, I'll focus on the differences between lists and libraries and when it is appropriate to use each. I'll also cover the various types of libraries that are available, and some things you'll need to consider when planning a list or a library.

Note: We're offering this column for free as an example of the great content you'll receive when you sign up for TechRepublic Pro. The PDF version is available as a TechRepublic Pro download.

Lists and libraries

Data stored on a SharePoint server typically resides in either a list or in a library. The first step in planning a SharePoint server is to understand the differences between lists and libraries, and knowing when to use which structure.

Generally speaking, a library is used to store documents, while a list is used to store the same sorts of data that you would normally place into a spreadsheet. There are exceptions to the rule though. For instance, you can attach documents to list entries in much the same way that you can include attachments within Exchange public folders.

Both libraries and lists allow you to associate metadata with them. Typically though, metadata columns in document libraries are limited to 255 characters of metadata per column. Therefore, if you need to include extensive notes in your metadata, you will usually be better off using a list than a document library because a list is not subject to the same metadata constraints as a library.

Types of libraries available

Now that I have talked about the differences between lists and libraries, I want to talk about some of the types of libraries that are available to you. So far, I have addressed libraries from the standpoint of a generic document library, but there are also some specialized library types that are ideally suited to storing specific types of documents.

There are actually quite a few types of libraries available, as shown in Figure A, but because of space limitations, I am only going to discuss the more commonly used library types.

Figure A

SharePoint offers various library types.
  • Document library - A document library (from the prospective of library types) is essentially a generic content library. Document libraries are usually geared toward storing Microsoft Office documents, but can be configured to store other types of documents as well.
  • Wiki library - A Wiki library is a special type of library designed to store wiki pages. What makes this type of library so special is that wikis are highly dynamic. A wiki library allows multiple users to make modifications to a wiki, all the while keeping track of who made the changes.
  • Form library - A form library is specifically designed to contain forms created by Microsoft InfoPath. In reality, a form library can store just about any type of XML based form.
  • Picture library - As the name implies, picture libraries are libraries of graphical images. The images are typically indexed so that users can enter search criteria to hunt for an image. Furthermore, users can view images in thumbnail, filmstrip, or detail format.
  • Slide library - A slide library is a library used to store individual PowerPoint slides. Users can open a PowerPoint presentation and upload any or all of the slides to a slide library. By doing so, the organization can build a library of reusable PowerPoint content. Individual slides can be copied from the library and used in new PowerPoint documents.

Content type

The biggest consideration when planning SharePoint lists and libraries is the content type. As you have already seen, there are list and library types that are geared specifically to certain types of data. While you can get away with using a generic list or a generic library, I recommend taking the time to see if there is another list or library type that better suits your needs.

You may be wondering what the difference is between a  generic document library and a document library that is focused on a specific type of data. The main difference has to do with the metadata that is associated with the documents in the library.

Although you should pick a library type that meets your needs, you can add metadata fields (called columns) to your document libraries. I recommend that you take a look at the types of metadata that will be associated with your document library by default, and take some time to think about other types of metadata that you want to include in the library.

If you want to find out what types of metadata are already associated with a library, go to the Document Center, and then click the document library that you want to examine. When SharePoint opens the document library, select the Document Library Settings option from the Settings menu. When you do, you'll be taken to a customization screen that is similar to the one shown in Figure B.

Figure B

The Customize screen allows you to view the columns that are currently defined within the document library.
As you can see in Figure B, the Customize screen provides you a list of the columns that are currently defined within the document library, and the types of data that each column can store. If you want to define some additional columns, just click the Create Column link. This will take you to the Create Column page, shown in Figure C.

Figure C

The Create Column page allows you to define additional columns.

To create an additional column, just provide a name for the column and specify the type of data that the column should contain. Depending on the data type that you select, there may be some additional column settings that you'll need to define, as shown in Figure C.

Indexing

One of the key design goals when SharePoint was first created was to help users to be able to find the exact documents that they are looking for in a library that potentially contains millions of documents. Typically, the user's ability to locate a document all comes down to indexing. As such, one major decision that you'll need to make as a part of the library planning process is which metadata columns you want to index.

To make your selections, just click the Indexed Columns link found on the Customize page shown in Figure C. When you do, you'll see a page similar to the one that is in Figure D.

Figure D

You can choose which columns to index by selecting the corresponding check boxes.

The Indexed Columns page shows you the default columns, your custom columns, and a few built-in columns that are not displayed on the Customize page. So what do you index? As you can tell from Figure D, it would be simple to just index everything. Keep in mind that the server's performance is inversely proportional to the amount of data that you index -- that is why planning is so important. You want to make sure that you index the columns that your users are likely to query, but avoid indexing anything else in the interest of maintaining the server's level of performance.

Naming conventions

I recommend considering whether you want to require specific naming conventions to be used within a library. Typically, if you work for an existing corporation that has just adopted SharePoint, you will be importing existing data into your document library. My advice is that, if your existing data adheres to a naming convention and that naming convention works for you, then stick with it. Otherwise, depending on the volume of data that you are importing, it may be too labor intensive and too confusing for you to rename all of the existing documents to match a new naming convention.

To the best of my knowledge, SharePoint does not have a mechanism for enforcing a naming convention. If you decide to require a specific naming convention, it's going to be up to your users to follow the naming convention, and the naming convention enforcement is going to be up to you.

Library structure

One aspect of document libraries that is often neglected during the planning process is the library structure. Like a normal file system, a document library can contain both files and folders. If you will be migrating existing files from a normal file system into a SharePoint document library, it's tempting to use the same folder structure that you are using in your current file system, but ask yourself whether the current filing structure currently makes sense from a SharePoint prospective.

For example, I write technical articles for a living. Being that I've written thousands of articles and several books over the years, I had to come up with a way of filing my documents in a way that made them easy to find.

What I've done is to create a folder named Articles on my main file server. Beneath that folder, there is a sub folder named Brien's Articles. I had to create this folder because my wife Taz wrote some articles a few years ago, and I have a separate folder for her stuff. Beneath the Brien's Articles folder, I have folders for the various publications and Web sites for which I. In this case, I'm using a folder named TechRepublic. There are quite a few editors at TechRepublic, and I've written articles for many of them at one time or another, so I have a folder named after each of my editors. Beneath each editor's folder is an archive folder, which contains subfolders named after the year that the content was written in.

My filing system has worked well for me for many years because it's organized by author, publication, editor, and year. But if I were to migrate all of my content to SharePoint, it would probably make more sense to create metadata columns for Author, Publication, Editor, and Year and associate the metadata with each document rather than using all of those folders.

The one advantage to preserving your existing folder structure is that your users are probably already used to it. Also, there is no reason why you couldn't use a combination of your current folder structure and some extra metadata.

Conclusion

I've talked a lot about the planning work that goes into document libraries. Even so, it's important to keep in mind that libraries are not the ideal solution to every situation. Sometimes a list is a better fit for a company's needs than a library.

If you look back at Figure A, you can see that just as SharePoint offers a lot of document library types, there are also a lot of types of lists that you can create, and creating custom lists is always an option as well. Although I haven't spent a lot of time talking about the planning process used in the creation of lists, you'll be happy to know that many of the planning issues are the same for both libraries and lists.

About

Brien Posey is a seven-time Microsoft MVP. He has written thousands of articles and written or contributed to dozens of books on a variety of IT subjects.

0 comments