Records Management Programming Model in SharePoint Server 2010 (ECM)

Applies to: SharePoint Server 2010

This topic introduces the records management programming model. It describes the namespaces and some of the notable types used in the model. For a complete list of the types available in each namespace, click the link to that namespace.

Namespaces

This section introduces the namespaces in the records management API.

Table 1. Namespaces

Namespace

Description

Microsoft.Office.RecordsManagement.Holds

Includes classes that manage aspects of placing holds on documents to exempt them from the enforcement of an expiration policy that is applied to them.

Microsoft.Office.RecordsManagement.InformationPolicy

Includes classes that define rules that apply to a certain type of important content, such as a site, a content type, or a list. Policy enables administrators to control and evaluate who can access the information, how long to retain information, and how effectively people are complying with the policy.

Microsoft.Office.RecordsManagement.PolicyFeatures

Includes classes for creating and managing features for use with policy, including expiration, audit, label, and retention schedule APIs.

Microsoft.Office.RecordsManagement.RecordsRepository

Includes classes for creating and managing records repositoriies, such as the content organizer, document router rules, the Holding Zone, the ICustomRouter interface, and APIs used to define, create, and manage records.

Microsoft.Office.RecordsManagement.Reporting

Includes classes for creating and managing records management reports and related data and queries.

Microsoft.Office.RecordsManagement.SearchAndProcess

Includes classes for creating and managing eDiscovery, including interfaces for searching for and processing items.

Types

This section introduces the most notable types in the holds API.

Table 2. Notable Microsoft.Office.RecordsManagement.Holds types

Type

Description

Hold

Represents specific properties of a hold. Holds can be placed on documents to exempt them from the enforcement of the expiration policy that is applied to them. Holds are stored as list items on a specified list in the Records Center site.

IHoldsHandler

Provides an interface that a custom hold handler can implement to provide custom hold processing. When a list item is put on hold or removed from hold, a custom processing handler can be added and used to process the list item.

This section introduces the most notable types in the information policy API.

Table 3. Notable Microsoft.Office.RecordsManagement.InformationPolicy types

Type

Description

ListPolicySettings

Manages location-based retention policy settings on a list and its subfolders. In Microsoft SharePoint Server 2010, retention policy can be location-based in addition to content type–based. A list, folder, or subfolder can inherit from a parent’s policy, define its own policy, or not follow any policy.

Policy

Represents an information policy. An information policy that resides on a site is applied to a content type, or is applied to a list. Policy enables administrators to control and evaluate who can access information, how long to retain information, and how effectively people are complying with the policy.

PolicyFeature

Represents a policy feature installed on a SharePoint Server farm. A policy feature is an assembly or other piece of code that provides content management functionality to SharePoint Server 2010 and client application documents.

PolicyResource

Represents a policy resource that is available to the policy feature. A policy feature can use one or more policy resources. A policy resource is an assembly that assists the policy feature by providing some functionality that the feature needs.

This section introduces the most notable types in the records repository API.

Table 4. Notable Microsoft.Office.RecordsManagement.RecordsRepository types

Type

Description

DocumentRouterAutoFolderSettings

Configures automatic folder creation in a content organizer site. The content organizer enables site administrators to set up rules that manage incoming documents based on their content type and metadata. These rules specify the final location for the documents being submitted to the site.

DocumentRoutingResultType

Represents the result from calling the GetFinalRoutingDestinationFolderUrl Web service to route a document. This enumeration conveys results from calling the document routing SOAP service. The value indicates types of successes and failures; it also can return information about whether the routing engine should be used to find a final destination that is based on the location that the user originally chose to save the document to.

EcmDocumentRouter

Represents a content organizer that routes documents submitted to a Web site. The content organizer feature enables content stewarts to configure their sites so that there is a single point of content creation and submission, and so that content is automatically saved to the appropriate location based on the metadata of the document.

EcmDocumentRouterRule

Represents a rule that defines document routing behavior for the content organizer.

EcmDocumentRoutingWeb

Represents a repository abstraction that can be configured to automatically organize and manage incoming content.

ICustomRouter

Enables a custom router to route document objects to site collections within the specified scope.

IRecordDeclarationHandler

Provides an interface for custom processing of declaring a list item as a record.

IRecordUndeclarationHandler

Provides an interface for custom processing of undeclaring a list item as a record.

RecordDeclarationPermissions

Enumerates the possible permission levels required for declaring and undeclaring records.

Records

The Records class defines utility functions associated with Record items. Record items can be set to prevent modification and/or deletion depending on the parent list's record declaration setting. Each list can also define its own permission level required to declare and undeclare records.

This section introduces the most notable types in the records management reporting API.

Table 5. Notable Microsoft.Office.RecordsManagement.Reporting types

Type

Description

AuditLogTrimmingReportCallout

Implements the IAuditLogTrimmingCallout interface to capture audit log reports before trimming the site's audit log and after the site's audit log is trimmed.

IReportDataSource

Defines a reporting data source and its interaction with the reporting engine. When running a report, the reporting engine interacts with a reporting data source that implements the IReportDataSource interface, and interacts with a report generator implementing the IReportGenerator interface.

IReportGenerator

Defines a report generator and its interaction with the reporting engine. When running a report, the reporting engine interacts with a reporting data source implementing the IReportDataSource interface and a report generator implementing the IReportGenerator interface.

This section introduces the most notable types in the search and process API, which is used for eDiscovery.

Table 6. Notable Microsoft.Office.RecordsManagement.SearchAndProcess types

Type

Description

IProcess

The interface that must be implemented by an assembly to process items as part of a search and process 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.

ISearchEnumerator

Provides an interface to interact with the search and process job.

ISearchParameters

Represents the interface that exposes the set of search query parameters.

ISearchProvider

Provides an abstraction for a search provider to implement a custom search provider that can be used to replace the default search provider only for the search and process timer job.

SearchAndProcessItem

Represents the search and process operation that you want to execute, and includes a method to initiate the operation.

See Also

Tasks

How to: Create a Custom Solution That Implements the IHold Interface in SharePoint Server 2010 (ECM)

Concepts

Enterprise Content Management (ECM) Code Samples for SharePoint Server 2010

SharePoint 2010 ECM Code Sample: Create a Routing Rule

Content Organizer Feature Overview for SharePoint Server 2010 Developers (ECM)

SharePoint 2010 ECM Code Sample: Shared Retention Events

Managing eDiscovery in SharePoint Server 2010 (ECM)

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

Managing Information Management Policy in SharePoint Server 2010 (ECM)

Rich Media Programming Model in SharePoint Server 2010 (ECM)

Document Management Programming Model in SharePoint Server 2010 (ECM)

Metadata and Taxonomy Programming Model in SharePoint Server 2010 (ECM)

Publishing Programming Model in SharePoint Server 2010 (ECM)