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

Scenario

Description

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".

Auditing

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

Namespace

Description

Microsoft.Office.RecordsManagement.Holds

Contains methods and properties that define hold actions and behaviors.

Microsoft.Office.RecordsManagement.InformationPolicy

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.

Microsoft.Office.RecordsManagement.OfficialFileWSProxy

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.

Microsoft.Office.RecordsManagement.PolicyFeatures

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.

Microsoft.Office.RecordsManagement.RecordsRepository

Contains methods and properties that define Content Organizer behavior.

Microsoft.Office.RecordsManagement.Reporting

Includes types that represent reporting objects for records management.

Microsoft.Office.RecordsManagement.SearchAndProcess

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

Table 3. SharePoint records management types and descriptions

Types

Description

HoldHandlerResult

Returns the search results for a hold search.

IHoldsHandler

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

DocumentRouterAutoFolderSettings

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

DocumentRoutingResultType

Specifies the type of result that the EcmDocumentRouter object returns.

EcmDocumentRouter

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

EcmDocumentRouterRule

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

EcmDocumentRoutingWeb

Represents the scope for which the EcmDocumentRouter object can route.

ICustomRouter

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

IRecordDeclarationHandler

Declares an item to be a record.

IRecordUndeclarationHandler

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

RecordOperationResult

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

RecordRestrictions

Represents the restrictions placed on a specified record.

AuditLogTrimmingReportCallout

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

IReportDataSource

Provides an interface that transports report data.

IReportGenerator

Provides an interface to an object that generates a report.

IProcess

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

ISearchEnumerator

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

ISearchParameters

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

ISearchProvider

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

SearchAndProcessItem

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

Tasks

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

Concepts

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