Manage List and Library with many items

When a list or library has a large number of items, you must carefully plan its organization, taking into account how users need to access the data. By planning and using a few key list and library features, you can ensure that users can find information without adversely affecting the performance of the rest of your site.

Microsoft Office SharePoint Server 2007 contains a Document Center site template that you can use when you want to create a site that is optimized for creating, managing, and storing large numbers of documents.
This article explains how to use a Document Center site. It also explains additional Office SharePoint Server 2007 features that help you manage libraries or lists containing large numbers of items.

Manage large numbers of documents using Document Center site

A Document Center is a specialized site designed to serve as a centralized repository for managing documents. You can use a Document Center site as an authoring environment or a content archive.
In an authoring environment, users actively check files in and out and create folder structures for those files. Versioning is enabled, and 10 or more earlier versions of each document can exist. Users check documents in and out frequently, and workflows can help automate actions on the documents. The figures used in this article show a Document Center set up as an authoring environment.
In contrast, very little authoring occurs in a content archive. Users only view or upload documents. The Document Center site template supports creating knowledge base archives. Typically, knowledge bases contain single versions of documents, and a site can scale to 10 million files. In a typical scenario, such as a technical support center for a large organization, 10,000 users might access the content, primarily to read it. A subset of 3,000 to 4,000 users might upload new content to the site.
 Note   You can also create another type of large-scale archive by using the Records Center site template. The Records Center site template contains features for managing the retention and disposition of records.

Document Center features

A Document Center site provides features for creating and managing large sets of documents. The Document Center site template has the recommended document management features enabled by default. The following sections briefly describe the main features.

Tree view navigation

The tree view should be a familiar navigation element for most Microsoft Windows users. The Documents library can have many levels of folders and subfolders, so you can use the tree view to quickly browse to the document that you want. The following figure shows the tree view in a Document Center site.


Major and minor document versioning

You can turn on versioning for any document library. Versioning lets you track changes to documents, and it helps you manage content as you revise it. Versioning is especially helpful when several people work together on projects, or when information goes through several stages of development and review.
With versioning turned on, you can restore an earlier version as your current document, or view an earlier version without overwriting the current document. The following figure shows the version history for a document.



Check-in and check-out

The default settings in the Document Center require users to check out and check in files. Requiring check-out helps prevent conflicts and confusion over changes, because only one user can change a file at a time. When you require check-out, a file is checked out automatically when someone opens it for editing, unless another user already has it checked out.

While you have a file checked out, your changes are not visible to others until you check the file back in. This is true whether you are working on your hard disk or on the server. When you check in a file, you are prompted to enter comments about your changes, and the comments become part of the version history. And because the Documents library tracks major and minor versions of a file, you are prompted to choose which type of version you are checking in.


Content types

A content type is a reusable group of settings for a category of content. You can use content types to manage the metadata, templates, and behaviors of items and documents consistently. In the figure below, the New menu for a document library shows customized content types that have been added to document library (e.g., Price List, Specification Sheet, User Manual, Product Comparison), along with the default content types that are more typically available (e.g., Document, Folder).




The Relevant Documents Web Part

The Relevant Documents Web Part helps you create a personalized view of the documents that you create, check out, and change. In a large Document Center, the Web Part can save you time and effort by making files easier to find and use. The following figure shows the Web Part.



 In addition to the columns shown in the previous figure, the Relevant Documents Web Part provides a link to the folder containing the document and the document's properties.


The Upcoming Tasks Web Part

The Upcoming Tasks Web Part alerts you to document-related tasks. For example, if your group uses a workflow that automatically archives documents according to a schedule, you can set the Upcoming Tasks Web Part to alert you before the system takes that action.



reate a Document Center site

You create Document Center sites the same way you create other new Office SharePoint Server 2007 sites. Find links to more information about creating new SharePoint sites in the See Also section.
 Note   Before creating a site, make sure that you are at the location on your site where you want to create a new subsite.
Click View All Site Content, and then click Create on the All Site Content page.
 Tip   In most cases, you can use the Site Actions menu Menu image instead to complete this step.
  1. Under Web Pages, click Sites and Workspaces.
  2. In the Title and Description section, type a title for your site. The title is required.
The title appears at the top of the Web page and appears in navigational elements that help users to find and open the site.
  1. Type a description of the purpose of your site in the Description box. The description is optional.
The description appears at the top of the Web page and helps users understand the purpose of your site.
  1. In the Web Site Address section, type a URL for your site. The first part is provided for you.
To avoid potential problems with updating or modifying the site, do not enter any of the following special characters as part of the Web address.
  1. In the Template Selection section, click the Enterprise tab, and then select the Document Center site template.
  2. In the Permissions section, select whether you want to provide access to the same users who have access to this parent site or to a unique set of users.
If you click Use Unique Permissions, you can set up permissions later after you finish entering information on the current page.
  1. In the Navigation section, select whether you want the new subsite to be visible in the navigation of its parent site.
You can make this site appear in the Quick Launch, the top link bar, or both. The Quick Launch displays on the side of most user-facing pages directly below the View All Site Content link. The top link bar appears as one or more hyperlinked tabs across the top of all pages.
 Note   If you do not see the Navigation section on this page, publishing features may not be enabled on your site (and the parent site). To show your site in the navigation on the parent site, modify the navigation settings on the parent site (see the article Configure navigation items on the Site Navigation Settings page).
  1. In the Navigation Inheritance section, specify whether you want the site to inherit its top link bar from the parent site or to have its own set of links on the top link bar.
This setting also affects whether the new site appears as part of the breadcrumb navigation of the parent site. The breadcrumb navigation provides a set of hyperlinks that enable site users to quickly navigate up the hierarchy of sites within a site collection, such as Convention Planning. When you navigate down the site hierarchy, breadcrumb navigation appears on the page to which you have navigated. If you click No, your subsite will not contain the breadcrumb navigation of the parent site.
  1. In the Site Categories section, choose whether you want this new site to be visible in the site directory of the parent site.

You can choose from default categories, like Information Technology, Sales, and Finance. You may see new categories created by another member of your organization (see the article Add or change categories in the Site Directory).
 Note   If you do not see the Site Categories section on this page, publishing features may not be enabled on your site (and the parent site). To show your site in the site directory, modify the navigation settings on the parent site (see the article Add a link to an existing site).
  1. Click Create.
If you specified that you want the the subsite to have the same permission as its parent site, the new site is created when you click Create. If you specified unique permissions, the Set Up Groups for this Site page appears, where you can set up groups for the subsite.
  1. If the Set Up Groups for this Site page appears, you need to specify whether you want to create new groups or use existing groups for visitors, members, and owners of this site. In each section, do one of the following:
    • If you click Create a new group, either accept the automatically created name for the new SharePoint group, or type a new name, and then add the people whom you want. Click the check mark icon to verify any names that you type, or click the Address Book icon to browse through your directory for more names.
In the Visitors to this Site section, you can also add all authenticated users to the Visitors group, which provides the group members with permission to read the content on your site, by default.
  • If you click Use an existing group, select the SharePoint group that you want from the list.
If you have several SharePoint groups, the list may be abbreviated. Click More to see the full list or Less to abbreviate the list.
  1. Click OK.

Additional ways to manage large lists and libraries

When the number of items in a list or library approaches two thousand, the performance of the list or library may begin to slow down or adversely affect other areas of the site. Such issues can be caused by user actions such as sorting or retrieving a large number of items at the same time. However, you can store millions of items in lists and libraries as long as you plan and configure the list or library correctly.

The most common example of a user action affecting performance occurs when a user creates or accesses a view of the items in a very large list or library. When defining a view, you can choose to return all the items or filter a subset of items based on a particular column. Any time the total number of items in a list or library is very large, it is important to limit the number of items that a user is working with at one time. This involves filtering the total set of items to a smaller number that is more manageable for the end user and for the database.

Depending on the type of list or library, you can use the organizational structure and certain features to help users to work with large numbers of items. The following sections provide tips and techniques for ensuring that users can access information quickly in a list or library.



Creating indexed columns

To improve the performance of a large list or library, you can index a column. An index on a column enables Windows SharePoint Services 3.0 to quickly analyze the data in that column, even when working with thousands or millions of items. For a view to quickly filter through a large number of items, the filter must be applied to a column that is indexed.
It is important to consider the following when you create and use indexed columns:
  • Each additional column index consumes extra resources in the database. Therefore, you should add indexes only to columns that will be used actively in views on the list or library.
  • When you define a view in a list or library with lots of items, it is important to use a filter that will return no more than two thousand items. 
  • Only one indexed column can be used in a view filter. You can filter on many different columns, but it is important that the first column that you use to filter the view has an index and that it sufficiently reduces the total number of items returned.
  • Defining a view that uses an OR filter does not have any benefits of an indexed column.
  • Defining an item limit in a view does not have the same benefits as filtering by an indexed column.

Creating filtered views

For lists and libraries with large numbers of items, users can access the items with a mix of views and search. The following are some suggestions for views that work well with an indexed column:
  • Recently changed    To create a view of only the items that have changed in the past week, you can index the Modified column and then apply the filter Modified (Indexed) is greater than  [Today]-7.
  • New items    To create a view of only those items that were added in the past week, you can index the Created column and then apply the filter Created is greater than [Today]-7.
  • My items    To create a view of only those items that you added, you can index the Created By column and then apply the filter Created By is equal to [Me].
  • Due today    For lists or libraries with a Due Date column, you can index that column and then apply the filter Due Date is equal to [Today].
  • Discussion board updates    To create a view of only the discussions that were updated in the past month, you can index the Last Updated column on a discussion board, create a new Subject view, and then apply the filter Last Updated is greater than [Today]-30.
  • People and Groups    If you have a lot of people visiting your site, you can improve the performance of the All Groups and All People pages by indexing the Content Type column for the User Information List.
 Note   Even if only a few people appear on the All People page, many people visiting the site will result in inactive users being written to the User Information List, which can still affect the performance of this list.
Find links to more information about creating or changing views and about formulas and functions that you can use to filter views in the See Also section.

 Note   Because creating views that use a column index correctly is more complicated for large lists and libraries, you might want to remove the Manage Personal Views permission from contributors for a large list or library. By removing this permission, you can prevent users from creating a view that spans all of the items and that might adversely affect the performance of the rest of the site.

Organizing items into folders

Even when the total number of items in a list or library is very large, a view of a single folder is as fast as a view that filters the total number of items by using an indexed column. In some scenarios, it may be possible to distribute all of the items in a list or library into multiple folders such that no folder has more than two thousand items.
It is important to consider the following when you use folders to organize a large list or library:
  • Each folder must contain no more than two thousand items to ensure fast views of the items in the folder.
  • If you choose to display all items without folders when you create a view in this list or library, you must use a filter that is based on an indexed column.
  • It is useful to make the default view show all the available folders without any filtering, so that users can choose the appropriate folder when they insert new items. This makes it less likely that items will be incorrectly added outside the folders in the list or library.

Index a column

To improve the performance of a large list or library, you can index a column. Then you can use the indexed column to filter new or existing views of the list or library.
 Note   Each additional column index consumes extra resources in the database. Therefore, you should add indexes only to columns that will be used actively in views on the list or library.
  1. If the list or library is not already open, click its name on the Quick Launch.
If the name of your list or library does not appear, click View All Site Content, and then click the name of your list or library.
On the Settings menu Settings menu, click List Settings, or click the settings for the type of library that you are opening.
For example, in a document library, click Document Library Settings.
  1. Under Columns, click Indexed columns.
  2. Select the check box next to each column that you want to index.
  3. Click OK.
 Important   Please note that a Lookup column that has been set to “Allow multiple values” cannot be indexed and will not appear on the Indexed Columns page
 Tip   If you have a lot of people visiting your site, you may want to index the Content Type column for the User Information List. This can improve the performance of the All Groups and All People pages on the site. These are pages that you use to manage users and groups on your site.

Create a filtered view by using an indexed column

After you index a column, you can add it to a new view as you create the view and then use the indexed column to filter the view. Before creating a view, you may want to add more columns to enable more flexibility for sorting, grouping, and filtering. If you are creating a view for a mobile device, you should consider the limits of your group's mobile devices. Find links to more information about creating columns and views in the See Also section.
  1. If the list or library is not already open, click its name on the Quick Launch.
If the name of your list or library does not appear, click View All Site Content, and then click the name of your list or library.
  1. On the View menu View menu, click Create View.
  1. Under Choose a view format, click the type of view that you want to create. For most situations in libraries, you can click Standard View, but you can choose other views for specific situations.
  2. In the View Name box, type a name for your view, such as Sorted by Last Name.
  1. In the Filter section, click Show items only when the following is true, and then choose how you want to filter the items based on one of the columns that is indexed. For example, to create a view of only items that changed today, choose the Modified (Indexed) column and the is equal to condition, and then type [Today].
 Note   If you do not see any columns that say (Indexed) after the name, you do not have any indexed columns available for that list or library. You must index a column first.
  1. Choose any other options that you want for your view, such as which columns you want to show or hide and how you want to sort the items.
  2. Click OK.

Add an indexed column to an existing view

After you index a column, you can add it to an existing view and then use the indexed column to filter the view.
  1. If the list or library is not already open, click its name on the Quick Launch.
If the name of your list or library does not appear, click View All Site Content, and then click the name of your list or library.
  1. On the View menu Menu image, click Modify this View.
  2. In the Filter section, click Show items only when the following is true, and then choose how you want to filter the items based on one of the columns that is indexed. For example, to create a view of only items that were changed today, choose the Modified (Indexed) column and the is equal to condition, and then type [Today].
 Note   If you do not see any columns that say (Indexed) after the name, you do not have any indexed columns available for that list or library. You must index a column first.
  1. Choose any other options that you want for your view, such as which columns you want to show or hide and how you want to sort the items.
  2. Click OK.

Set limits for RSS Feeds

After RSS support is enabled in Central Administration and at the site collection level, you can enable and configure RSS support for the following types of lists in your sites: document libraries, picture libraries, form libraries, announcements lists, calendar lists, blogs, surveys, and discussion boards. When users access the RSS Feed for a list or library, this is similar to a view of all the items in the list. The default RSS view limits the number of items that are returned, based on the date that the item was last modified by using a filter on the Modified column. Just as with any other view, if the list or library has many items, it is important to index the Modified column if users access the RSS Feed.
Follow this procedure to change the number of items and days for which changes are included in an RSS Feed.
  1. If the list is not already open, click its name on the Quick Launch.
If the name of your list does not appear, click View All Site Content, and then click the name of your list.
  1. On the Settings menu Settings menu, click List Settings.
  1. In the Communications section, click RSS settings.
 Note   The RSS settings link is not available if RSS support is not enabled both in Central Administration and at the site collection level.
  1. In the Item Limit section, type the maximum number of items and days to include in an RSS Feed.
  2. Click OK.