Logging Content Migration Events
Applies to: SharePoint Foundation 2010
Content migration uses both the SharePoint Foundation change log and audit log to record significant events during export and import operations.
Content Migration and the Audit Log
The audit log is a core SharePoint Foundation service that stores data in the SharePoint content database. The log consists of a list of entries that record individual actions taken by users of the system. Export and import events are tracked in the audit log through the Audit Log service.
When an item is exported, content migration writes entries to the audit log indicating the start and completion of the export. For example,
<Export><RequestedBy>DOMAIN\user</RequestedBy><Start /> </Export> <Export><RequestedBy>DOMAIN\user</RequestedBy><Completed /> <TotalItems>8</TotalItems> <TotalSizeInBytes>27909</TotalSizeInBytes> </Export>
When an item is imported, similar entries are written to the audit log.
<Import><RequestedBy>DOMAIN\user</RequestedBy><Start /> </Import> <Import><RequestedBy>DOMAIN\user</RequestedBy><Completed /> <TotalItems>8</TotalItems> <TotalSizeInBytes>27909</TotalSizeInBytes> </Import>
Note
Audit flags and audit history that are associated with an object are not exported or imported.
Audit reporting based on GUID
The primary index for the audit log is the SharePoint Foundation GUID. For an item to be audited, it must have a GUID. During export and import, settings on the SPExportSettings and SPImportSettings classes control whether an item's GUID is retained on the migration target. The default is to not retain the object GUID. Therefore, reporting to the audit log is managed as follows:
If an object's GUID is not retained (it has a different GUID after importing to the new location), all events prior to the change are logged under the old GUID, and all new events are logged under the new GUID. The audit log is not designed to automatically correlate all GUIDs, although the audit log can record the events that caused the GUID to change, which helps to correlate them. This is consistent with how other item metadata (for example, version history) is treated in SharePoint Foundation today.
For items whose GUIDs are retained, there is no existing feature or tool to link audit logs in different servers. To create summary audit reports to track the full document life cycle, you need to mount all audit reports from servers with the same document. In most cases where GUIDs are retained during migration, audit logs can be consolidated by GUID; otherwise, you need to correlate all GUIDs (similar to the preceding information) to generate a consolidated report.
Content Migration and the Change Log
The change log is a new feature in SharePoint Foundation that captures all changes that have happened to objects in a site collection (including list items, list metadata, Web metadata, site metadata, and security updates).
Content Migration uses the change log in the following ways.
For an export operation, the scope of the content being exported is specified in the ExportMethod property. If the export is based on incremental change (rather than a full export), Content Migration uses the change log at the source location to determine the content to export.
During an import operation, the standard SharePoint Foundation events are written to the change log on the destination location. Content Migration events such as Add and Update are captured as Restore events, for example, RestoreAdd and RestoreUpdate; however, the remaining events are not necessarily identified as such.
For more information about the change log and the standard set of SharePoint Foundation events that are written there, see Logging For SharePoint Developers.