处理内容迁移包

上次修改时间: 2009年10月2日

适用范围: SharePoint Foundation 2010

本文内容
ExportSettings.xml
Requirements.xml
RootObjectMap.xml
SystemData.xml
UserGroups.xml
Manifest.xml

内容迁移包由一组数据文件(包含导出操作中包括的所有内容)和一个介绍数据结构的清单文件组成。

下面简要介绍内容迁移包中包括的文件。

ExportSettings.xml

ExportSettings.xml 文件用于验证导出逻辑和确保导出所需的内容包含在该包内。

<ExportSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema" SiteUrl="http://server1/" 
   FileLocation="c:\" BaseFileName="cmfile.cmp" IncludeSecurity="None" 
   IncludeVersions="LastMajor" ExportMethod="ExportAll" 
   ExportChangesSinceDate="0001-01-01T00:00:00"
   xmlns="urn:deployment-exportsettings-schema">
   <ExportObjects />
</ExportSettings>

Requirements.xml

Requirements.xml 文件包含用作在任何导入发生之前执行的初步检查的信息。此 XML 文件验证以下信息:

  • 语言安装在目标位置(在本例中指英语)。如果语言未安装在目标位置,则导入将失败。

  • 模板安装在目标位置(在本例中指 ID 为"STS # 1"的英语版本的模板)。如果模板未安装在目标位置,则导入将失败。

  • 功能定义安装在目标位置。如果功能定义未安装在目标位置,则导入将失败。

    备注

    导入完成后,将激活所有功能。

  • Web 部件在目标位置的安全控件列表中。在这种情况下,导入将继续。如果 Web 部件不在安全控件列表中,则将发出警告,而导入将继续(除非将 HaltOnWarning 设置为 true)。

    备注

    对象模型不会验证 Web 部件 DLL 是否安装在目标位置。这是管理员的责任。

<Requirements xmlns="urn:deployment-requirements-schema">
   <Requirement Type="Language" Id="1033" Name="English" /> 
   <Requirement Type="WebTemplate" Id="STS#1" Name="1033" Data="English" /> 
   <Requirement Type="WebPart" 
      Id="Microsoft.SharePoint.dll v2.0.50727" 
      Name="2242cce6-491a-657a-c8ee-b10a2a993eda" /> 
   <Requirement Type="FeatureDefinition" 
      Id="695b6570-a48b-4a8e-8ea5-26ea7fc1d162" 
      Name="ctypes" />
...

RootObjectMap.xml

RootObjectMap.xml 文件定义要导入的顶级对象,即没有父级的对象。

在下面的示例中,只有单个顶级对象。但是,由于导出中包含所有依赖项,而且依赖项可以位于要导出的网站之外,因此可以有多个顶级对象。

<RootObjects xmlns="urn:deployment-rootobjectmap-schema">
   <RootObject Id="d78135df-74f0-44ff-86d9-44cb5583f3a1" 
   Type="Web" ParentId="00000000-0000-0000-0000-000000000000" 
   WebUrl="/" Url="/" IsDependency="false" /> 
</RootObjects>

SystemData.xml

SystemData.xml 文件包含使用 SharePoint Foundation 扩展的服务器上安装的所有默认对象。此信息主要在导出/导入操作在源位置和目标位置之间保留 GUID 时使用。

此文件包含架构版本。如果这与目标位置的版本不匹配,则导入将失败。

<SystemData xmlns="urn:deployment-systemdata-schema">
<SchemaVersion Version="12.0.x.0" Build="12.0.0.xxxx" DatabaseVersion="xxxx" SiteVersion="0" /> 
<ManifestFiles>
<ManifestFile Name="Manifest.xml" /> 
</ManifestFiles>
<SystemObjects>
<SystemObject Id="d78135df-74f0-44ff-86d9-44cb5583f3a1" Type="Web" Url="/" /> 
<SystemObject Id="6b4bd918-76a0-4b7e-8e09-4a0356543e42" Type="Folder" Url="/" />
...

UserGroups.xml

UserGroup.xml 文件包含来自源网站的所有用户和组信息。下面的示例不包括用户和组信息。若要包括用户和组信息,请参阅 IncludeSecurity 属性。

<UserGroupMap xmlns="urn:deployment-usergroupmap-schema">
<Users>
<User Id="1" Name="Terry Adams" Login="DOMAIN\username" Email="someone@example.com" IsDomainGroup="False" IsSiteAdmin="True" SystemId="ABCDEFGHIJKLMNOPoQRWfnhXm1/yzIdwDMoDAD==" IsDeleted="false" /> 
</Users>
<Groups /> 
</UserGroupMap>

Manifest.xml

Manifest.xml 文件是内容迁移使用的主文件。此文件包含 SPObject 元素的集合,这些元素表示序列化为 XML 的所有导出内容。每个 SPObject 元素都有一个 ObjectType 属性,指示该元素是否是 SPWebSPFolderSPFile,等等。

备注

您可以有多个 Manifest.xml 文件,并且可以将它们拆分为任意数量的较小的文件。

Manifest.xml 文件基于对象的线性关系,所有对象位于同一级别上并且文件中没有反映任何包含关系。此文件要求在 Manifest.xml 文件中对象的父级位于其之前。例如,下面看到的 SPFile 的条目必须在 Manifest.xml 文件中让其父级 SPFolder 位于它的前面。

每个 SPFile 对象都有 FileValue 属性,该属性引用包含文件内容的 DAT 文件。例如,在 Manifest.xml 文件的下面一节中,您可以看到 SPFile 对象有一个 FileValue="00000001.dat",它指示此文件的关联数据的位置。

<SPObject Id="a9a407c3-b155-41cc-9ca1-483525072f70" 
 ObjectType="SPFile" ParentId="bb480411-a95c-49cc-857e-a229194b99d6" 
 ParentWebId="d78135df-74f0-44ff-86d9-44cb5583f3a1" ParentWebUrl="/" 
 Url="/_catalogs/lt/Forms/DispForm.aspx">
  <File Url="_catalogs/lt/Forms/DispForm.aspx" 
   Id="a9a407c3-b155-41cc-9ca1-483525072f70" 
   ParentWebId="d78135df-74f0-44ff-86d9-44cb5583f3a1" ParentWebUrl="/" 
   DirName="_catalogs/lt/Forms" Name="DispForm.aspx" 
   ListId="330e3721-3de2-474a-a4be-05a0831d6b4d" 
   ParentId="bb480411-a95c-49cc-857e-a229194b99d6" 
   ScopeId="e4252b2a-aa90-49f1-b7f5-f59714fd1efd" 
   TimeCreated="2006-03-13T22:58:21" TimeLastModified="2006-03-13T22:58:21" 
   Version="1.0" IsGhosted="true" SetupPath="pages\form.aspx" 
   SetupPathVersion="3" SetupPathUser="1" FileValue="00000001.dat" /> 
</SPObject>

请参阅

概念

内容迁移概述