Share via

Developing with SharePoint Server 2010 Records and eDiscovery Features (ECM)

Learn how records management and eDiscovery functionality is enhanced with new features and capabilities in SharePoint Server 2010.

Applies to: SharePoint Server 2010

Microsoft SharePoint Server 2010 provides features designed to manage records. A record is any document that is important to a business or organization and that is managed by a business process. In SharePoint Server 2010, records management and eDiscovery functionality is enhanced with new features and capabilities, including:

  • Multistage policy improvements

  • Widely accessible eDiscovery

  • Records Center template

  • Component features of the Records Center that can be enabled on any site

  • Location-based expiration schedules

Compliance Fundamentals in SharePoint Server

Compliance in SharePoint Server 2010 is about enforcing rules that reduce business risk. Risk can come in many forms: legal, information disclosure, cost overruns, government regulation, and so on. Typically, management hires records managers, compliance officers, and lawyers to establish and enact the oversight of risk. For the purposes of identifying the user roles supported by SharePoint Server 2010, the term records manager describes an individual who manages risk.

Within content management, compliance includes four main scenarios. The features that are available by default in SharePoint Server 2010 are designed to support the scenarios described in Table 1.

Table 1. Four SharePoint compliance scenarios



Identifying and managing records

In this scenario, the records manager identifies important business documents (records) and attaches business processes to them. For example, after a business document is identified as a record, users may not be able to edit or delete it.

eDiscovery and holds

In eDiscovery (electronic discovery) the records manager finds and locks down content that is related to litigation. For example, if a company is sued about how they use the word eDiscovery, the records manager needs to find and process all content that contains the words "eDiscovery" or "electronic discovery".


During auditing, the records manager tracks who performed specific actions on content. Auditing scenarios often result from forensic investigations and happen after actions have been performed on content.

Retention and expiration

Retention and expiration policies exist to reduce the cost of eDiscovery by ensuring that the organization keeps content for a specific length of time and deletes the content on an expiration date. Retention includes key tasks such as scheduling events and deletion events, in the life cycle of content.

To support each of these scenarios, features throughout SharePoint Server 2010 and Microsoft Office 2010 are designed to support compliance. For example, document content types are a kind of object that can be managed with information policy. All types of documents created by using Office 2010 client applications (including the new document sets feature) support compliance and records management.

Records Management Programming Model in SharePoint

Records management includes a server-side API and Web services that you can use to create custom records management solutions. Table 2 and Table 3 list the namespaces and types that are most commonly used to write custom records management applications.

Table 2. Notable SharePoint records management namespaces and descriptions




Contains methods and properties that define hold actions and behaviors.


Contains methods and properties that define the information policy for one or more items. It includes types that define the policy and policy collections and that organize policy features and resources into a collection.


Contains methods and properties used to define and manage behavior of the [MS-OFFICIALFILE] proxy. Types in this namespace are most commonly used to connect data in third-party applications to a SharePoint records management system.


Contains methods and properties that define the features of an information policy. For example, you can use types in this namespace to create and manage barcodes, labels, audits, and expiration.


Contains methods and properties that define Content Organizer behavior.


Includes types that represent reporting objects for records management.


Includes interfaces and types that define the search and process behavior for eDiscovery.

Table 3. SharePoint records management types and descriptions




Returns the search results for a hold search.


Specifies the interface that a class must implement to handle holds.


Represents the settings that an EcmDocumentRouter object applies to automatic folders.


Specifies the type of result that the EcmDocumentRouter object returns.


Represents the object that routes documents to a Document Center or Records Center.


Represents a rule that defines the behavior of the EcmDocumentRouter object.


Represents the scope for which the EcmDocumentRouter object can route.


Provides an interface that enables a custom router to route document objects to site collections within the specified scope.


Declares an item to be a record.


Removes the records designation from an item that had been declared a record.


Represents the results of an operation performed on a specified record.


Represents the restrictions placed on a specified record.


Represents a callout that includes the details in the audit log.


Provides an interface that transports report data.


Provides an interface to an object that generates a report.


Represents the complete search and process for the target SPListItem item.


Represents the search enumerator. The property IsNull is set to true by default.


Represents the parameters that are passed to a search provider when a search query is executed.


Represents a search provider. Includes a method to get the search page URL from SPWeb and a method that performs the search.


Represents the search and process operation that you want to execute, and includes a method to initiate the operation. Search and process operations enable you to use SharePoint Server 2010 to perform a search query, and then perform a specific, custom action upon each list item returned by the query. For example, you might want to identify a certain set of documents, based on specific document metadata, and then move those documents into a records repository.The assembly that you specify must implement the IProcess interface.Use the Add(SPWeb, DateTime, Guid, Int32, Boolean, Guid, Guid, Int32) method to add the search and process operation to the SharePoint Server 2010 master timer job.

See Also


How to: Expire Actions with Post Actions and Bypass Locks in SharePoint Server 2010 (ECM)


Managing Information Management Policy in SharePoint Server 2010 (ECM)

Managing eDiscovery in SharePoint Server 2010 (ECM)

Other Resources

Walkthrough: Creating Shared Events

Enterprise Content Management Resource Center

SharePoint Developer Center

SharePoint Developer Team Blog